java - Struts 2 将数据从 JSP 传递到操作类

标签 java jsp struts2 ognl

我试图理解其他人的 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/

相关文章:

java - 如何比较 2 个字符串 <c :if>?

java - 没有为与上下文路径 [/Struts2Application] 关联的 namespace [/] 和操作名称 [LoginClass] 映射的操作。 - [未知位置]

java - 为什么我们会收到 AssertionFailedError ?

java - 由于 JDK 错误,无法安装 Android Studio

java - 仅支持有限数量的语言

java - Android:无法从给定的 url 播放 mp3 文件

javascript - 谷歌图表不显示在jsp中

java - 为什么表格不显示在本地主机(jsp 文件)中?

java - HTTP 状态 404 - 没有映射与上下文路径 [/struts2] 关联的命名空间 [/] 和操作名称 [login] 的操作

java - import org.appfuse.webapp.action.BaseAction 无法解析