在weblogic中部署时收到以下错误:
解析JSP文件'/pages/RegisteredEmployee.jsp'失败:/pages/RegisteredEmployee.jsp(5):使用标记库时出错uri ='/ WEB-INF / struts-html.tld'prefix ='html': Tag类'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”%>
我的 struts-html.tld
在 /WEB-INF
文件夹里面 . 我还尝试将标签lib指令路径更改为 http://jakarta.apache.org/struts/tags-html
,它显示相同的错误 . 我还将 struts-html.tld
复制到 /WEB-INF/lib
,它显示相同的错误 .
我怎么解决这个问题?
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>
1 回答
问题可以在这里找到:
我没有_1426683_抱怨
value="..."
. 而是这样做,<html:submit>
上有(可能)没有属性value
.