javax.faces.component.html.HtmlInputText.getOnfocusout()Ljava/lang/String;

来源:互联网 发布:mac 装win10 鼠标右键 编辑:程序博客网 时间:2024/06/11 19:42

因为要在列表中选中一条记录,做修改删除。JSF框架中的datatable遍历出来的每个单选按钮都可以选中。所以想用myfaces的<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>标签,于是给工程添加了myfaces1.1.jar包,web.xml 额外添加了一下配置:

 

  <!-- Extensions Filter -->
<filter>
        <filter-name>extensionsFilter</filter-name>
        <filter-class>
                org.apache.myfaces.component.html.util.ExtensionsFilter
        </filter-class>
        <init-param>
                <description>
                        Set the size limit for uploaded files. Format: 10 - 10
                        bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                </description>
                <param-name>uploadMaxFileSize</param-name>
                <param-value>100m</param-value>
        </init-param>
        <init-param>
                <description>
                        Set the threshold size - files below this limit are
                        stored in memory, files above this limit are stored on
                        disk.
                        Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
                </description>
                <param-name>uploadThresholdSize</param-name>
                <param-value>100k</param-value>
        </init-param>
        <!--
        <init-param>
                <param-name>uploadRepositoryPath</param-name>
                <param-value>/temp</param-value>
                <description>Set the path where the intermediary files will be stored.
                </description>
        </init-param>
        -->
</filter>
<filter-mapping>
        <filter-name>extensionsFilter</filter-name>
        <url-pattern>*.faces</url-pattern>
</filter-mapping>
<filter-mapping>
        <filter-name>extensionsFilter</filter-name>
        <url-pattern>/faces/*</url-pattern>
</filter-mapping>

可以正常启动服务,但是打开页面时,报以下错误(JSP页面有这样的代码才报错 value="#{importTestcaseBackingBean.uploadExcelFile}")。

 

六月 10, 2016 4:34:14 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [FacesServlet] in context with path [/autotest] threw exception [javax.faces.component.html.HtmlInputText.getOnfocusout()Ljava/lang/String;] with root cause
java.lang.NoSuchMethodError: javax.faces.component.html.HtmlInputText.getOnfocusout()Ljava/lang/String;
 at org.apache.myfaces.renderkit.html.HtmlTextRendererBase.renderInput(HtmlTextRendererBase.java:144)
 at org.apache.myfaces.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:56)
 at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:877)
 at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
 at org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
 at org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:62)
 at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:877)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1826)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1822)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1822)
 at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:431)
 at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:232)
 at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
 at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
 at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

 

解决办法:1.去掉工程中的myfaces1.1.jar,重新启动即可(不能解决遍历单选按钮的问题)。

2.在添加el-api.jar包重启服务。

3.去掉工程里头原有4的个JAR包:

javax.faces-2.1.27.jar(留该包,打开页面会报空指针错误)

jsf-api.jar

jsf-impl.jar

jsp-2.0.jar

0 0
原创粉丝点击