我试图理解其他人的 Struts 2 代码,但我遇到了数据传递问题。
我知道在 JSP 页面上,如果您使用 <s:textfield name="something" ... />
标记,struts2 将尝试调用 setSomething(...)
自动在 Action 类中。
我现在看到了这种类型的代码:
<s:textfield name="item.name" ... />
我想知道,这 .
是怎么回事? (点)工作?我有一个方法叫做 setItem()
在我的 Action 类中,在该方法中设置的对象有一个 setName()
方法,但显然这不起作用。项目和名称之间的点是什么意思?如何正确使用它来实例化项目并设置它的名称?
PS:在setItem()
中设置的item对象在我的 Action 类中有一个空的 args
构造函数。
最佳答案
在 OGNL .
中是点符号。
item.name
表示 getItem().setName();
item.subitem.name
表示 getItem().getSubitem.setName();
一个问题可能是缺少空参数构造函数,as described here ,但你是说这不是你的情况;然后我赌“Item
缺少 setter/getter ”。如果不是,请发布更多相关代码。
关于java - Struts 2 将数据从 JSP 传递到操作类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149277/