我有一个工作的Action和JSP表单,我用它在我的基本Struts 2.2.1.1应用程序中创建新实体.我正在尝试修改应用程序以重新使用相同的JSP表单来编辑实体.
我添加了一个"隐藏"的ID标签,现在我在提交表单时遇到错误.有人可以帮我一下吗?
我用Google搜索了这个问题并看到其他人发布了类似的错误,但我不确定如何解决它.
提交表单时摘自Stack Trace:
2011-05-02 11:09:36,132 3198497 ["http-bio-8080"-exec-23] WARN
com.opensymphony.xwork2.ognl.OgnlValueStack - Error setting expression
'id' with value '[Ljava.lang.String;@100ac03'
ognl.MethodFailedException: Method "setId" failed for object
org.robbins.flashcards.model.Tag@1b9eb34 [name='null' ]
[java.lang.NoSuchMethodException:
org.robbins.flashcards.model.Tag.setId([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1474)
Run Code Online (Sandbox Code Playgroud)
摘自JSP:
<%@ taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="saveOrUpdateTag" method="post">
<s:hidden name="id" />
<s:textfield name="name" key="label.tag.name" size="20" />
<s:submit label="label.flashcard.submit" align="center" />
</s:form>
Run Code Online (Sandbox Code Playgroud)
动作类的摘录:
public class TagAction extends FlashCardsAppBaseAction implements
ModelDriven<Tag> {
Tag tag = new Tag();
public Tag getTag() {
return tag;
}
public void …Run Code Online (Sandbox Code Playgroud)