问题描述
<s:password name="theUser.password" /> 可以输入但是接收不到值 换成 <s:textfield name="theUser.password" /> 就接收到值这是为什么呀,还是password 要加上什么参数才行吗,有没有用过的 问题补充:<s:password name="theUser.password" /> 可以输入但是接收不到值 是指,从action从传到页面来的时候,不是action中接收谢谢
解决方案
你是说修改的时候想看到password的值吗?这个当然不行试想一下,如果password设计成可以得到值,那这样会很不符合大部分人要求如果密码存到数据库的时候经过加密了那你拿到值的时候是想要加密过的还是解密之后的呢?拿到加密的密码对你肯定没有用但是能拿到解密的密码吗?
解决方案二:
password的值该得不到吧.安全性考虑.
解决方案三:
真是奇怪了,我试了好几次,Action都能正确得到值吗?难道是版本的问题,我的版本是 struts2.0.11, 我的测试代码如下:html<s:form action="login"><s:password name="user.password"></s:password><s:submit></s:submit></s:form>public String execute() {System.out.println(user.getPassword());return SUCCESS;}配置文件:<action name="login" class="com.leo.action.UserAction"method="execute"><result name="input">login.jsp</result><result name="success">index.jsp</result></action>