在jsp中找不到setter

时间:2011-06-28 18:21:23

标签: java jsp jsp-tags

好的,我正在调用这个自定义标记:

<%@ tag body-content="scriptless" import="java.util.*,com.serco.inquire.*,java.lang.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="theID" required="true" %>
<%@ attribute name="aUser" required="true" %>
 ... do stuff with variables here...

将此代码放在.jsp文件中:

<inq:singleRec theID="${id}" aUser="${user}" />

和Tomcat告诉我:

  

/deviewview.jsp(32,4)无法找到属性的setter方法:aUser

(是的,这就是我上面发布的那条线)

soooo ..这次我错过了什么?

3 个答案:

答案 0 :(得分:1)

你有驼峰案例属性名称“aUser”。它在开头有一个字符“a”,看起来JSTL / JSP在这种情况下找到setter“setAUser()”有问题。尝试将“aUser”更改为“user”或“theUser”。

答案 1 :(得分:0)

  

好的,我正在调用这个自定义标记:

你所拥有的不是自定义标签。这是一个标签文件。

<%@ tag body-content="scriptless" import="java.util.*,com.serco.inquire.*,java.lang.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="theID" required="true" %>
<%@ attribute name="aUser" required="true" %>
 ... do stuff with variables here...

您已使用prefix = c作为标记。你的web.xml中是否也有标签定义?如果是这样,c可能已经在那里用于JSTL标记。如果是这种情况,您的标记文件和JSTL核心标记之间可能会发生冲突。

将此代码放在.jsp文件中:

<inq:singleRec theID="${id}" aUser="${user}" />

您在哪里定义了ing

答案 2 :(得分:0)

如果你将使用自定义标记,那将是因为属性“aUser”不存在于相应的标记类(bean)中。或者,您可能已经更改了bean,但忘记更改TLD。