Struts2 Action动态方法调用问题

qq_38347310 qq_38347310 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚接触Struts2,做个简单的程序,希望点击登入时使用execute方法,点击注册按钮时调用regist方法,然而使用login!regist注册按钮无法调用regist方法。希望有人能指点一下。
login.jsp代码
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><s:text name="loginPage"/></title>
</head>
<body>
<s:form action="login" method="POST" >
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit value="登入"/>
<input type="submit" value="注册" onclick="regist();"/>
</s:form >
<script type="javascript">
function regist(){
targetForm=document.forms[0];
targetForm.action="login!regist";
}
</script>

</body>
</html>

Action代码
package lee;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* Created by Administrator on 2017/4/25 0025.
*/
public class LoginAction extends ActionSupport{
private String username;
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
public String regist() throws Exception{
ActionContext actionContext=ActionContext.getContext();
actionContext.getSession().put("username",getUsername());
actionContext.put("tip","恭喜你"+getUsername()+"。注册成功!");
return SUCCESS;
}
@Override
public String execute() throws Exception {
if (getUsername().equals("xiao")
&getPassword().equals("123456")){
ActionContext.getContext().getSession().put("user",getUsername());
return SUCCESS;
}
else {
return ERROR;
}
}

}

struts.xml代码
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="mess"/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<package name="lee" extends="struts-default" namespace="/">
<action name="login" class="lee.LoginAction" >
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
<action name="login2" class="lee.LoginAction2" >
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
qq_38347310
Java EE 67,535 成员 225,843 内容