日期:2014-05-17  浏览次数:20785 次

Struts2 诡异问题:action中方法不执行。
action中方法如下:

Java code
public String modifyPassword() {
        

        user.setPassword(Password.createPassword(user.getPassword()));
        userService.update(user);
        return SUCCESS;

    }


配置文件如下:
XML code
<action name="modifyPassword" class="userBean" method="modifyPassword">
            <result name="success" >/web/modifySuccess.jsp</result>
            <result name="input" >/web/modifyFailure.jsp</result>
        </action>


页面:
HTML code


 <s:form id="form1" name="form1" method="POST" action="/user/modifyPassword.action" theme="simple" >
                    <div id="grxx_content_right_contnent">
                    <ul>
                                          <li><span class="gray">原 密 码:</span>
                        <input name="oldPassword" type="password" class="input_border_zc" id="oldPassword" size="30" />
                      </li>
                        <li><span class="gray">新 密 码:</span>
                          <input name="user.password" type="password" class="input_border_zc" id="password" size="30"/>
                        </li>
                        <li><span class="gray">确认密码:</span>
                           <input name="newPassword1" type="password" class="input_border_zc" id="password1" size="30" />
                        </li>                    
                    </ul>
                    <div style="padding-top:10px;"><a href="javascript:void(0)" onclick="this.blur();submit();"><img src="web/images/zc_07.jpg" width="103" height="38" /></a></div>
                      </div>
                      <s:submit value="提交"></s:submit>
                  </s:form>



我是先执行一个action,这个action跳转到一个页面。然后这个页面执行修改密码的这个action。
无论页面怎么执行,总是跳转到input视图,debug的时候,这个action 根本就没有执行!
并且后台没有打印出sql语句。、user 是命名空间
项目中统一使用相对路径。 <base href="<%=basePath%>"> 其他页面 都没什么问题~

------解决方案--------------------
<action name="modifyPassword" class="userBean" method="modifyPassword">
这个userBean就是action的文件名?没有在包底下吗
------解决方案--------------------
探讨

我隐藏域的值 name 重复了。。。

导致action不执行哈。
自己解决了呵呵。

我更新的时候,需要更新的值,但是又不想显示出来就都保持在隐藏域里面。
但是这样可能会有个问题,用户查看源代码 不就知道信息了嘛?

虽然可以锁定右键。但是这个可破解的吧?
引用:
抱歉看错了,其他都没有什么问题

------解决方案--------------------
探讨

怎么加密啊?
我隐藏域的值是需要的呢
不然存入数据库的值都是null值呢?
简单加密?用md5行不?这个咋做呢 谢谢
引用:
引用:

我隐藏域的值 name 重复了。。。

导致action不执行哈。
自己解决了呵呵。

我更新的时候,需要更新的值,但是又不想显示出来就都保持在隐藏域里面。
……