简体   繁体   English

JSP taglib指令中的错误

[英]Error in JSP taglib directive

I receive the following error while deploying in weblogic: 在weblogic中部署时收到以下错误:

Parsing of JSP File '/pages/RegisteredEmployee.jsp' failed: /pages/RegisteredEmployee.jsp(5): Error in using tag library uri='/WEB-INF/struts-html.tld' prefix='html': The Tag class 'org.apache.struts.taglib.html.FormTag' has no setter method corresponding to TLD declared attribute 'name', (JSP 1.1 spec, 5.4.1) probably occurred due to an error in /pages/RegisteredEmployee.jsp line 5: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 解析JSP文件'/pages/RegisteredEmployee.jsp'失败:/pages/RegisteredEmployee.jsp(5):使用标签库uri ='/ WEB-INF / struts-html.tld'prefix ='html'时出错:标记类'org.apache.struts.taglib.html.FormTag'没有与TLD声明的属性'name'相对应的setter方法,(JSP 1.1规范,5.4.1)可能是由于/pages/RegisteredEmployee.jsp中的错误而发生的第5行: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>

My struts-html.tld is inside /WEB-INF folder. 我的struts-html.tld位于/WEB-INF文件夹中。 I also tried to change the tag lib directive path to http://jakarta.apache.org/struts/tags-html , it displayed same error. 我还尝试将标签lib指令路径更改为http://jakarta.apache.org/struts/tags-html ,它显示了相同的错误。 I also copied struts-html.tld into /WEB-INF/lib , it displayed same error. 我也将struts-html.tld复制到/WEB-INF/lib ,它显示相同的错误。

How can I solve this problem? 我怎么解决这个问题?

RegisteredEmployee.jsp

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
<html:html>
  <html:form action="reg employee">
    <body>
      <center>
        <table>
          <tr>
            <td>Employee Id:</td>
            <td><html:text property="id"/></td>
            <td><html:submit value="Login to see your details"></html:submit></td>
          </tr>
        </table>
      </center>
    </body>
  </html:form>
</html:html>

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>/pages/RegisteredEmployee.jsp</welcome-file>
    </welcome-file-list>

    <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
</web-app>

The problem can be found here: 问题可以在这里找到:

<html:submit value="Login to see your details"></html:submit>

I haven't done Struts in months, but it's complaining on value="..." . 我已经几个月没有做Struts了,但是它抱怨value="..." Rather do this, 而是这样做

<html:submit>Login to see your details</html:submit>

There's (probably) no attribute value on <html:submit> . (可能)在<html:submit>上没有属性value

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM