Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.faces.FacesException:执行值转换时出错_Java_Spring_Jsf_Sakai - Fatal编程技术网

javax.faces.FacesException:执行值转换时出错

javax.faces.FacesException:执行值转换时出错,java,spring,jsf,sakai,Java,Spring,Jsf,Sakai,在为sakai 2.9 cle usinf JSF和Spring创建新工具时,我遇到了“javax.faces.FacesException:执行值转换时出错”错误 这是我的stacktrace: org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: org.apache.jasper.JasperException: javax.faces.el.Evaluati

在为sakai 2.9 cle usinf JSF和Spring创建新工具时,我遇到了“javax.faces.FacesException:执行值转换时出错”错误

这是我的stacktrace:

org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: org.apache.jasper.JasperException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
    caused by: org.sakaiproject.tool.api.ToolException: org.apache.jasper.JasperException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
    caused by: org.apache.jasper.JasperException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    caused by: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
    caused by: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:97)
    caused by: javax.faces.FacesException: Error performing conversion of value 'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' of type 'class com.sun.proxy.$Proxy61' to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' for managed bean 'AttendanceTool'.
        at com.sun.faces.config.ManagedBeanFactory.getConvertedValueConsideringPrimitives(ManagedBeanFactory.java:885)
        at com.sun.faces.config.ManagedBeanFactory.setPropertiesIntoBean(ManagedBeanFactory.java:575)
        at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:253)
        at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:282)
        at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:97)
        at org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
        at com.sun.faces.el.impl.NamedValue.evaluate(NamedValue.java:145)
        at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:166)
        at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
        at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
        at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
        at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:1397)
        at org.sakaiproject.jsf.attendance.AttendanceIfNotRender.encodeBegin(AttendanceIfNotRender.java:43)
        at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:703)
        at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:613)
        at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:565)
        at org.apache.jsp.attendance.main_jsp._jspx_meth_attendance_005fattendance_005fifnot_005f0(main_jsp.java:393)
        at org.apache.jsp.attendance.main_jsp._jspx_meth_h_005fform_005f0(main_jsp.java:302)
        at org.apache.jsp.attendance.main_jsp._jspx_meth_sakai_005fview_005fcontent_005f0(main_jsp.java:272)
        at org.apache.jsp.attendance.main_jsp._jspx_meth_sakai_005fview_005fcontainer_005f0(main_jsp.java:230)
        at org.apache.jsp.attendance.main_jsp._jspx_meth_f_005fview_005f0(main_jsp.java:195)
        at org.apache.jsp.attendance.main_jsp._jspService(main_jsp.java:141)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
        at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
        at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
        at org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:159)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
        at org.sakaiproject.tool.attendance.AttendanceFilePickerServlet.dispatch(AttendanceFilePickerServlet.java:158)
        at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
        at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
        at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
        at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
        at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
        at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
而my faces-config.xml是

    <?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>

  <application>
    <message-bundle>org.sakaiproject.tool.attendance.bundle.Messages</message-bundle>
    <locale-config>
      <default-locale>en</default-locale>
      <supported-locale>de</supported-locale>
      <supported-locale>fr</supported-locale>
      <supported-locale>es</supported-locale>
    </locale-config>
  </application>

<!--sakai2 - take this out. <application>
    <view-handler>
      org.sakaiproject.jsf.custom.SakaiViewHandler
    </view-handler>
    <navigation-handler>
      org.sakaiproject.jsf.custom.SakaiNavigationHandler
    </navigation-handler>
    <variable-resolver>
      org.sakaiproject.jsf.custom.SakaiVariableResolver
    </variable-resolver>
    <state-manager>
      org.sakaiproject.jsf.custom.SakaiStateManager
    </state-manager>
  </application> -->

  <!-- =================== Tool Beans ============== -->
    <managed-bean>

        <description>AttendanceTool</description>
        <managed-bean-name>AttendanceTool</managed-bean-name>
        <managed-bean-class>org.sakaiproject.tool.attendance.AttendanceTool</managed-bean-class>
<!--sakai2      <managed-bean-scope>request</managed-bean-scope>-->
        <managed-bean-scope>session</managed-bean-scope>

        <managed-property>
            <description>attendanceManager</description>
            <property-name>attendanceManager</property-name>
            <value>#{Components["org.sakaiproject.api.app.attendance.AttendanceManager"]}</value>
        </managed-property>

<!--        <managed-property>
            <description>logger</description>
            <property-name>logger</property-name>
            <value>#{Components["org.sakaiproject.service.framework.log.Logger"]}</value>
        </managed-property>-->
        <managed-property>
            <description>attendanceService</description>
            <property-name>attendanceService</property-name>
            <value>#{Components["org.sakaiproject.api.app.attendance.AttendanceService"]}</value>
        </managed-property>    
        <managed-property>
            <description>contentHostingService</description>
            <property-name>contentHostingService</property-name>
            <value>#{Components["org.sakaiproject.content.api.ContentHostingService"]}</value>
        </managed-property> 
    </managed-bean>

  <component>
    <component-type>SakaiAttendanceTable</component-type>
    <component-class>org.sakaiproject.jsf.attendance.AttendanceTableComponent</component-class>
  </component>

  <component>
    <component-type>SakaiAttendanceIframe</component-type>
    <component-class>org.sakaiproject.jsf.attendance.AttendanceIframeComponent</component-class>
  </component>

  <component>
    <component-type>SakaiAttendanceIf</component-type>
    <component-class>org.sakaiproject.jsf.attendance.AttendanceIfComponent</component-class>
  </component>

  <component>
    <component-type>SakaiAttendanceIfNot</component-type>
    <component-class>org.sakaiproject.jsf.attendance.AttendanceIfNotComponent</component-class>
  </component>

  <component>
    <component-type>AttendanceShowArea</component-type>
    <component-class>org.sakaiproject.jsf.attendance.AttendanceShowAreaComponent</component-class>
  </component>

  <render-kit>
    <renderer>
      <component-family>SakaiAttendanceIframe</component-family>
      <renderer-type>SakaiAttendanceIframeRender</renderer-type>
      <renderer-class>org.sakaiproject.jsf.attendance.AttendanceIframeRender</renderer-class>
    </renderer>

    <renderer>
      <component-family>SakaiAttendanceIf</component-family>
      <renderer-type>SakaiAttendanceIfRender</renderer-type>
      <renderer-class>org.sakaiproject.jsf.attendance.AttendanceIfRender</renderer-class>
    </renderer>

    <renderer>
      <component-family>SakaiAttendanceIfNot</component-family>
      <renderer-type>SakaiAttendanceIfNotRender</renderer-type>
      <renderer-class>org.sakaiproject.jsf.attendance.AttendanceIfNotRender</renderer-class>
    </renderer>

    <renderer>
      <component-family>AttendanceShowArea</component-family>
      <renderer-type>AttendanceShowAreaRender</renderer-type>
      <renderer-class>org.sakaiproject.jsf.attendance.AttendanceShowAreaRender</renderer-class>
    </renderer>
  </render-kit>

  <navigation-rule>
    <from-view-id>/attendance/main.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/main_edit.jsp</from-view-id>
    <navigation-case>
      <from-outcome>read</from-outcome>
      <to-view-id>/attendance/read.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>delete_confirm</from-outcome>
      <to-view-id>/attendance/delete_confirm.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>edit</from-outcome>
      <to-view-id>/attendance/edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>edit_redirect</from-outcome>
      <to-view-id>/attendance/edit_redirect.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>main</from-outcome>
      <to-view-id>/attendance/main.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/delete_confirm.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/main_student.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/edit_redirect.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/edit.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>preview</from-outcome>
      <to-view-id>/attendance/preview.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>edit</from-outcome>
      <to-view-id>/attendance/edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>add_attach</from-outcome>
      <to-view-id>/attendance/add_attach.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>remove_attach_confirm</from-outcome>
      <to-view-id>/attendance/remove_attach_confirm.jsp</to-view-id>
      <redirect/>
    </navigation-case>  
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/read.jsp</from-view-id>
    <navigation-case>
      <from-outcome>main_edit</from-outcome>
      <to-view-id>/attendance/main_edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>permission_error</from-outcome>
      <to-view-id>/attendance/permission_error.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>read_preview</from-outcome>
      <to-view-id>/attendance/read_preview.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>read</from-outcome>
      <to-view-id>/attendance/read.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>add_attach</from-outcome>
      <to-view-id>/attendance/add_attach.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>remove_attach_confirm</from-outcome>
      <to-view-id>/attendance/remove_attach_confirm.jsp</to-view-id>
      <redirect/>
    </navigation-case>  
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/preview.jsp</from-view-id>
    <navigation-case>
      <from-outcome>edit</from-outcome>
      <to-view-id>/attendance/edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>preview</from-outcome>
      <to-view-id>/attendance/preview.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/read_preview.jsp</from-view-id>
    <navigation-case>
      <from-outcome>read_preview</from-outcome>
      <to-view-id>/attendance/read_preview.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>read</from-outcome>
      <to-view-id>/attendance/read.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/add_attach.jsp</from-view-id>
    <navigation-case>
      <from-outcome>edit</from-outcome>
      <to-view-id>/attendance/edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>read</from-outcome>
      <to-view-id>/attendance/read.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

  <navigation-rule>
    <from-view-id>/attendance/remove_attach_confirm.jsp</from-view-id>
    <navigation-case>
      <from-outcome>edit</from-outcome>
      <to-view-id>/attendance/edit.jsp</to-view-id>
      <redirect/>
    </navigation-case>
    <navigation-case>
      <from-outcome>read</from-outcome>
      <to-view-id>/attendance/read.jsp</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>

</faces-config>

org.sakaiproject.tool.attention.bundle.Messages
EN
判定元件
fr
锿
护理醇
护理醇
org.sakaiproject.tool.attention.attentidancetool
一场
值班经理
值班经理
#{组件[“org.sakaiproject.api.app.attention.AttentinanceManager”]}
护理服务
护理服务
#{组件[“org.sakaiproject.api.app.attention.AttendanceService”]}
contentHostingService
contentHostingService
#{Components[“org.sakaiproject.content.api.ContentHostingService”]}
SakaiaAttendable
org.sakaiproject.jsf.attention.AttentinanceTableComponent
Sakaiattendacei框架
org.sakaiproject.jsf.attention.AttendanceFrameComponent
Sakaiattendaceif
org.sakaiproject.jsf.attention.AttendanceIfcComponent
Sakaiattendaceifno
org.sakaiproject.jsf.attention.AttendanceIfNotComponent
护理区
org.sakaiproject.jsf.attention.AttendanceShowArea组件
Sakaiattendacei框架
SakaiattendaceFrameRender
org.sakaiproject.jsf.attention.AttendanceFrameRender
Sakaiattendaceif
萨卡雅登登费尔南德
org.sakaiproject.jsf.attention.Attentinanceifrender
Sakaiattendaceifno
Sakaiattendaceifnotrender
org.sakaiproject.jsf.attention.AttendanceIfNotRender
护理区
AttendanceShowAreaRender
org.sakaiproject.jsf.attention.AttendanceShowAreaRender
/考勤/main.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
/考勤/main_edit.jsp
阅读
/考勤/read.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
删除并确认
/考勤/delete_confirm.jsp
编辑
/考勤/edit.jsp
编辑重定向
/考勤/编辑_redirect.jsp
主要的
/考勤/main.jsp
/考勤/delete_confirm.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
/出勤率/main_student.jsp
主编辑
/考勤/main_edit.jsp
/考勤/编辑_redirect.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
/考勤/edit.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
预览
/考勤/preview.jsp
编辑
/考勤/edit.jsp
添加\附加
/考勤/add_attach.jsp
移除\连接\确认
/考勤/删除\附加\确认.jsp
/考勤/read.jsp
主编辑
/考勤/main_edit.jsp
权限错误
/出勤/权限\u error.jsp
阅读预览
/出席/阅读预览.jsp
阅读
/考勤/read.jsp
添加\附加
/考勤/add_attach.jsp
移除\连接\确认
/考勤/删除\附加\确认.jsp
/考勤/preview.jsp
编辑
/考勤/edit.jsp
预览
/考勤/preview.jsp
/出席/阅读预览.jsp
阅读预览
/出席/阅读预览.jsp
阅读
/考勤/read.jsp
/考勤/add_attach.jsp
编辑
/考勤/edit.jsp
阅读
/考勤/read.jsp
/考勤/删除\附加\确认.jsp
编辑
/考勤/edit.jsp
阅读
/考勤/read.jsp

这是一个JSF错误,与Sakai无关。这里重要的问题是:

Error performing conversion of value 
'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' 
of type 'class com.sun.proxy.$Proxy61' 
to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' 
for managed bean 'AttendanceTool'

通常,这是由于在多个类加载器中有一个API副本造成的。检查以确保您的JSF工具和共享中没有API jar(同时检查您没有该jar的两个版本)。

这是一个JSF错误,与Sakai无关。这里重要的问题是:

Error performing conversion of value 
'org.sakaiproject.component.app.attendance.AttendanceManagerImpl@721c3e' 
of type 'class com.sun.proxy.$Proxy61' 
to type 'interface org.sakaiproject.api.app.attendance.AttendanceManager' 
for managed bean 'AttendanceTool'

通常,这是由于在多个类加载器中有一个API副本造成的。检查以确保JSF工具和共享工具中没有API jar(同时检查该jar没有2个版本).

org.sakaiproject.component.app.attention.AttendanceManager实现接口AttendanceManager吗?是的org.sakaiproject.component.app.attention.AttendanceManager实现接口AttendanceManager类
org.sakaiproject.component.app.AttendanceManager实现接口AttendanceManager吗
实现AttendanceManager接口?是的org.sakai project.component.app.attendance.AttendanceManager接口实现AttendanceManager接口