java-webwork:参数传递问题
来源:互联网 发布:手机淘宝查看信用等级 编辑:程序博客网 时间:2024/06/01 21:08
本问题出现在用一个action实现CRUD的设计里:
xwork.xml:
<!-- Assets-Location crud function start here -->
<action name="ast_loc_service" class="com.hwccl.assets.system.action.LocationAction" method="list" >
<result name="success">/web/assets/system/locations.jsp</result>
<result name="error">/web/users/error.jsp</result>
<interceptor-ref name="cookieStatck"/>
</action>
<action name="ast_loc_crud" class="com.hwccl.assets.system.action.LocationAction" method="input">
<result name="success" type="redirect-action">ast_loc_service</result>
<result name="input">/web/assets/system/locationForm.jsp</result>
<result name="error">/web/users/error.jsp</result>
</action>
测试时,发现
http://localhost:8080/oa_hwccl/ast_loc_crud!input.action?location.id=1
参数传递失败,无法获得参数。
后来看到以下文字:
http://jxb8901.javaeye.com/blog/6103
在XWork中,它是OgnlValueStack)。当你提交一个表单到action中,在它执行之前,由框架去取得你的Action,并实例化这个Action对象,再将这个Action对象放入它的值堆栈中。
这时候,你在做编辑的时候,它一定会有原始的数据,假设这个数据对象就是user,同时假设这个数据就是从数据库中取得的。
你要编辑这个user对象的数据,当然你的视图(也许是页面)要获取原始的数据。如何获取?你可以通过EL(表达式语言)从OgnlValueStack 中获取。你的EL:user.username,它就是相当于调用Action对象的getUser().getUsername();方法。通过这种方 式,你可以在视图中取得原始数据。
到这里,我想你都能明白。但请注意下面:
在你对原始数据进行更新时,你希望这个更新的数据同步到user对象中。这时,你仍然是通过EL,进行值的设置(注意:前面是值的获取)。你的EL:user.username,它这是相当于调用代码:getUse.setUsername(你更新的值)。
原来自己在action里定义了对象location,却没为他做getter and setter,所以getLocation().getId()无法生效。
添加getter and setter后OK。
xwork.xml:
<!-- Assets-Location crud function start here -->
<action name="ast_loc_service" class="com.hwccl.assets.system.action.LocationAction" method="list" >
<result name="success">/web/assets/system/locations.jsp</result>
<result name="error">/web/users/error.jsp</result>
<interceptor-ref name="cookieStatck"/>
</action>
<action name="ast_loc_crud" class="com.hwccl.assets.system.action.LocationAction" method="input">
<result name="success" type="redirect-action">ast_loc_service</result>
<result name="input">/web/assets/system/locationForm.jsp</result>
<result name="error">/web/users/error.jsp</result>
</action>
测试时,发现
http://localhost:8080/oa_hwccl/ast_loc_crud!input.action?location.id=1
参数传递失败,无法获得参数。
后来看到以下文字:
http://jxb8901.javaeye.com/blog/6103
在XWork中,它是OgnlValueStack)。当你提交一个表单到action中,在它执行之前,由框架去取得你的Action,并实例化这个Action对象,再将这个Action对象放入它的值堆栈中。
这时候,你在做编辑的时候,它一定会有原始的数据,假设这个数据对象就是user,同时假设这个数据就是从数据库中取得的。
你要编辑这个user对象的数据,当然你的视图(也许是页面)要获取原始的数据。如何获取?你可以通过EL(表达式语言)从OgnlValueStack 中获取。你的EL:user.username,它就是相当于调用Action对象的getUser().getUsername();方法。通过这种方 式,你可以在视图中取得原始数据。
到这里,我想你都能明白。但请注意下面:
在你对原始数据进行更新时,你希望这个更新的数据同步到user对象中。这时,你仍然是通过EL,进行值的设置(注意:前面是值的获取)。你的EL:user.username,它这是相当于调用代码:getUse.setUsername(你更新的值)。
原来自己在action里定义了对象location,却没为他做getter and setter,所以getLocation().getId()无法生效。
添加getter and setter后OK。
- java-webwork:参数传递问题
- java参数传递问题
- java参数传递问题
- Java参数传递问题
- java参数传递问题
- java参数传递问题
- java参数传递问题
- java的参数传递问题。
- java中的参数传递问题
- java方法参数传递问题
- java中的参数传递问题
- java参数传递方式问题
- java函数参数传递问题?
- Java中的参数传递问题
- Java中的参数传递问题
- Java中的参数传递问题
- Java中的参数传递问题
- java中的参数传递问题
- Java、XML与数据库编程实践
- 书评:他们思考,我们流汗--《华尔街的肉》
- 需要一段时间慢慢适应一下CSDN……
- C#中调用Windows API的要点
- AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)
- java-webwork:参数传递问题
- aaaaaaaaaaaaaaaaaaaa
- 新来咋到
- 好好学学EXCEL吧
- Symbian和C++ SDK开发入门之应用程序
- AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)
- 用cewolf,ireport+jasperReport进行图表,报表的打印
- WEB程序打包方法
- 函数名: sbrk