這裏是我的動作類:無法獲得支柱查詢字符串PARAMS 2 action類
public class ForgotPassword extends ActionSupport{
private String j_username;
public String execute() throws Exception {
System.out.println("FORGOT PASSWORD ACTION CALLED");
return SUCCESS;
}
public String getUsername() {
return j_username;
}
public void setUsername(String j_username) {
System.out.println("Username received is " + j_username);
this.j_username = j_username;
}
}
我在struts.xml中聲明的缺省攔截器,其中包括:
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
從HTML頁面我我正在發送參數到像這樣的行動類:
<body>
<input type="text" id="j_username" name="j_username"/>
<div style="margin-top:20px">
<a class="forgot_password"
onclick="forgotPassword()" id="resetAnchor">Forgot Password</a>
</div>
<script type="text/javascript">
function forgotPassword() {
var ctx = '${pageContext.request.contextPath}';
var username = document.getElementById('j_username').value;
if (username !== null && username !== "") {
var username = document.getElementById('j_username').value;
console.log('username is ', username);
document.getElementById('resetAnchor').href = ctx + "/forgotPassword?j_username=" + username;
} else {
alert('please provider username');
}
}
</script>
</body>
一切看起來不錯,但我無法打印此行
System.out.println("Username received is " + j_username);
只會打印該行::System.out.println("FORGOT PASSWORD ACTION CALLED");
這裏是struts.xml中定義的操作:
<action name="forgotPassword" class="com.actions.ForgotPassword">
<interceptor-ref name="params"/>
<result name="success">/reset.jsp</result>
</action>
什麼我我錯過了側setter方法?
沒有你提到的動作名稱是'/ forgotPassword'中的struts.xml文件。 – Poornima
@Poornima頁面重定向,以便意味着它返回的'成功' – kittu
更改變量名稱作爲用戶名在HTML頁面和行動類 – Poornima