struts2 参数包装

问题描述:

前台提交的参数user.userName=df&user.password=PPW 但是后台的Action只解析到了userName属性。

参数提交形式:

http://localhost/easyGrow/web/admin/login.action?user.userName=df&user.password=PPW

struts配置:

<package name="authentication" namespace="/web/admin" extends="struts-default"> <action name="login" class="LoginAction" method="doLogin"> <result name="success" type="redirect" >/index.jsp</result> <result name="login">/login.jsp</result> </action> </package>

LoginAction 如下:

private User user = null;

public void setUser(User user) {

this.user = user;

}

public String doLogin(){

print(user);

return SUCCESS;

}

User类如下:

private int id = 0;

private String userName = "";

private String password = "";

public 的get,set方法就不贴出来了。

问题:

当请求提交的时候,后台打印的时候只能打印出user.userName的值df,

分析:

既然userName已经解析到,为什么password就解析不到呢!怎么也想不通啊,呵呵。。。

RootCause:

最后无意中发现,如果在LoginAction中声明User的时候,改用public,就可以全部解析到了。

分析:

如果是访问限制的问题,那用private修饰的时候,userName也应该解析不到啊!

猜你喜欢

转载自cuizhihua.iteye.com/blog/1912475