Struts2は、ページから渡されたパラメーターを受け取ります

1.最初の方法は、属性駆動型の方法でページから渡されたパラメーターを取得することです。ここで、アクションの属性名はページのパラメーター名と一致している必要があることに注意してください。
アクションサンプルコード:

public class LoginOneAction {
    
    
	
	private String userName;
	private String password;
	
	public String login(){
    
    
		System.out.println("userName="+userName);
		System.out.println("password="+password);
		if (userName.equals(password)) {
    
    
			return "success";
		}
		return "fail";
	}
	
	
	//=======setter AND getter方法==========
	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;
	}
}

struts.xml構成のサンプルコードでLoginOneActionを構成します。

<package name="user-login" namespace="/userLogin" extends="struts-default">
	<!-- action name请求的Action名称 class Action处理类对应具体路径 -->
	<!-- method 指定默认的方法名,如果不指定就是execute方法 -->
	<action name="loginOneAction" class="com.gx.web.LoginOneAction">
		<result name="success" type="dispatcher">/jsp/successOne.jsp</result>
		<result name="fail">/jsp/fail.jsp</result>
	</action>
</package>

Jspページコード(アクションの属性名はページのパラメータ名と一致している必要があります):

<body>
   <form action="${ctx}/userLogin/loginOneAction!login.action" method="get">
	  	userName:<input type="text" name="userName">
	  	<br>
	  	password:<input type="password" name="password">
	  	<br>
	  	<button type="submit">登录</button>    	
   </form>
 </body>

2. 2番目の方法は、上記の最初の方法と同様に、JavaBeanを介してページから渡されたパラメーターを取得することもできます。最初にオブジェクトをカプセル化し、ページパラメータをモデルオブジェクトにカプセル化する必要があります。サンプルコードは次のとおりです。

public class User implements Serializable{
    
    
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	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;
	}
}

アクションの最初のモデルオブジェクトのプロパティで、getおよびsetメソッドを記述し、サンプルコードを記述します。

public class LoginTwoAction {
    
    
	private User user;
	
	//登录action方法
	public String login(){
    
    
		if (user.getUserName().equals(user.getPassword())) {
    
    
			return "success";
		}
		return "fail";
	}
	
	//======getter and  setter方法========
	public User getUser() {
    
    
		return user;
	}

	public void setUser(User user) {
    
    
		this.user = user;
	}
}

struts.xml構成のサンプルコードでLoginTwoActionを構成します。

<package name="user-login" namespace="/userLogin" extends="struts-default">
	<action name="loginTwoAction" class="com.gx.web.LoginTwoAction">
		<result name="success">/jsp/successTwo.jsp</result>
		<result name="fail">/jsp/fail.jsp</result>
	</action>
</package>

Jspページのパラメータ名は、最初のメソッドとは異なる方法で記述されています。ognl式が使用されています。サンプルコード:

<body>
   <form action="${ctx}/userLogin/loginTwoAction!login.action" method="get">
	   	userName:<input type="text" name="user.userName">
	   	<br>
	   	password:<input type="password" name="user.password">
	   	<br>
	   	<button type="submit">登录</button>
   </form>
 </body>

3. 3番目の方法は、jspページから渡されたパラメーターをモデル駆動型の方法で受け入れることです。実装方法:ActionにModelDrivenインターフェースを実装させます。このインターフェイスでは、アクションで使用されるデータモデルオブジェクトを返すgetModelメソッドを実装する必要があります。ここで使用されるモデルオブジェクトは、2番目のメソッドでカプセル化されたオブジェクトです。サンプルコード:

public class LoginThreeAction implements ModelDriven<User> {
    
    
	private User user;

	@Override
	public User getModel() {
    
    
		if (user == null) {
    
    
			user = new User();
		}
		return user;
	}

	// 登录action方法
	public String login() {
    
    
		if (user.getUserName().equals(user.getPassword())) {
    
    
			return "success";
		}
		return "fail";
	}
	
	//========getter==========
	public User getUser() {
    
    
		return user;
	}
}

struts.xml構成のサンプルコードでLoginThreeActionを構成します。

<package name="user-login" namespace="/userLogin" extends="struts-default">
	<action name="loginThreeAction" class="com.gx.web.LoginThreeAction">
		<result name="success">/jsp/successTwo.jsp</result>
		<result name="fail">/jsp/fail.jsp</result>
	</action>
</package>

Jspページのパラメータ名は、モデルオブジェクトの属性名と一致している必要があります。サンプルコード:

<body>
   <form action="${ctx}/userLogin/loginThreeAction!login.action" method="get">
	   	userName:<input type="text" name="userName">
	   	<br>
	   	password:<input type="password" name="password">
	   	<br>
	   	<button type="submit">登录</button>
   </form>
 </body>

おすすめ

転載: blog.csdn.net/weixin_44547592/article/details/105773140