+ -
当前位置:首页 → 问答吧 → jsp数据传递到action

jsp数据传递到action

时间:2011-11-26

来源:互联网

最近碰到一个问题,公司一个ssh系统让我费解:jsp页面的表单数据传递到Action,但action中即没有getter setter,也没实现DriverModel,但是居然能接受到值?请问各位大大是什么情况啊?

作者: xulong7814   发布时间: 2011-11-26

request.getParameter("参数名");

作者: tangjian_abc   发布时间: 2011-11-26

上面的是一个方法,还有就是看你的是struts1还是struts2。两个是不一样的。

作者: qlong8807   发布时间: 2011-11-26

我在代码里面根本没有看到request调用啊,而且serlvet被封装了。没有任何获取方式,直接就把值从页面传递到了Action
引用 1 楼 tangjian_abc 的回复:

request.getParameter("参数名");

作者: xulong7814   发布时间: 2011-11-26

用的是strut2,没有看到任何获得参数的语句,更没有get set ,也没继承DrivenModel。。。

作者: xulong7814   发布时间: 2011-11-26

没用过struts2

作者: llqzy   发布时间: 2011-11-26

struts2 参数拦载器在注入值的时候,有两种机制,(调用ognl)
这是OgnlRuntime 类中一段源码 hasSetMethod( context, target, targetClass, name ) || hasField( context, target, targetClass, name );
他会先查看你的action 中有没有对应的方法,如果发现无此方法,他会利用第二种方法直接给属性覆值,而无需对应的set方法!(当然都是通过反射机制实现的)
如果action 中属性过多的话,我觉得就不用写set get 方法了

作者: zyz1985   发布时间: 2011-11-26

哦,那写和不写有区别吗,是不是写了后赋值的效率更高一点?
引用 6 楼 zyz1985 的回复:

struts2 参数拦载器在注入值的时候,有两种机制,(调用ognl)
这是OgnlRuntime 类中一段源码 hasSetMethod( context, target, targetClass, name ) || hasField( context, target, targetClass, name );
他会先查看你的action 中有没有对应的方法,如果发现无此方法,他会利用第……

作者: xulong7814   发布时间: 2011-11-26