使用动态方法调用时,form表单的action属性值必须符合以下的格式
action="Action名称!方法名称"在<s:form></s:form>
或
action=“Action名称!方法名称.action” 在<form></form>
loginRegister.jps源代码如下
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>登录或者注册</title>
</head>
<SCRIPT type="text/javascript">
function reg(){
targetForm = document.forms[0];
targetForm.action = "loginRegister!register.action";
//targetForm.action = "Register.action";
targetForm.submit();
}
</SCRIPT>
<body>
<jsp:include page="index.html"/>
<center>
用户注册/登录
<!--
<s:form action="loginRegister" method="post" theme="simple"></s:form>
-->
<s:form action="loginRegister!execute.action" method="post" theme="simple">
<ul><li>帐号:<s:textfield name="userName"/> </li>
<li>密码:<s:password name="userPassword"/></li>
<li><input type="button" value="注册" οnclick="reg()"/>
<s:submit value="登录"/>
</li>
</ul>
</s:form>
</center>
</body>
</html>
Action类:LoginRegister.java
package action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginRegister extends ActionSupport {
private String userName;
private String userPassword;
private String tip;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getTip() {
return tip;
}
public void setTip(String tip) {
this.tip = tip;
}
public String register() throws Exception{
setTip("您单击了【注册】按钮!"+"您使用帐号"+userName+"注册成功!");
return SUCCESS;
}
public String execute() {
setTip("您单击了【登录】按钮!"+"您使用帐号"+userName+"登录成功!");
return SUCCESS;
}
}
struts.xml文件如下
<action name="loginRegister" class="action.LoginRegister" >
<result name="success">/success.jsp</result>
</action>