struts配置
<?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.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<!-- <constant name="struts.action.extension" value="jps"/> -->
<package name="default" namespace="/" extends="struts-default">
<!-- 定义mmethod的属性方法调用 -->
<action name="login" class="com.yt.web.struts.controllers.LoginAction" method="regist">
</action>
<!-- 通配符方法调用 -->
<action name="*" class="com.yt.web.struts.controllers.LoginAction" method="{1}">
</action>
<!-- 动态方法调用使用!将方法 -->
<action name="login1" class="com.yt.web.struts.controllers.LoginAction">
</action>
<!-- 不定义class,默认的ActionSupport处理 -->
<action name="default" >
<result>/index.jsp</result>
</action>
</package>
</struts>
Action
public class LoginAction implements Action{
private String username;
private String pass;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
@Override
public String execute() throws Exception {
System.out.println(username+""+pass);
return null;
}
public String regist(){
if(username==null||pass==null){
System.out.println("用户名或密码错误");
return NONE;
}else{
System.out.println("regist");
return NONE;
}
}
public String addUser(){
System.out.println("User");
return NONE;
}
}
jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="pass"/><br/>
<input type="submit" value="提交"/>
</form>
<!-- struts中定义method属性调用方法 -->
<a href="${pageContext.request.contextPath}/login">普通调用</a>
<!-- 通配符*方法调用 -->
<a href="${pageContext.request.contextPath}/addUser">addUser</a>
<a href="${pageContext.request.contextPath }/regist">regist</>
<!-- 动态方法调用 -->
<a href="${pageContext.request.contextPath }/login1!addUser">dyAddUser</a>
<a href="${pageContext.request.contextPath }/login1!regist"/>dyRegist</a>
</body>
</html>