struts 2 의 특별한 제출 방법

2549 단어 자바struts
우 리 는 하나의 struts 2 의 action 클래스 에서 여러 가지 방법 을 정의 할 수 있 고,서로 다른 웹 페이지 는 같은 action 클래스 의 다른 방법 을 제출 할 수 있다 는 것 을 알 고 있다.이런 기능 을 실현 하려 면 여러 가지 설정 방법 이 있다.다음은 비교적 좋 고 간단 한 방법 을 소개 한다.
페이지 코드 는 다음 과 같 습 니 다.hidden 속성 을 가 진 input 의 name="method:test"는 이 form 을 웹/login 에 대응 하 는 action 의 test 방법 에 제출 하 겠 다 는 뜻 입 니 다.

        <form action="web/login" method="post">
        	 <input type="hidden" name="method:test" />
    	  :<input name="name" type="text" /> <br />
    	  :<input name="password" type="password" /> <br />
    	<input type="submit" value="  " />

Action 코드 는 다음 과 같 습 니 다:

package test;

import com.opensymphony.xwork2.ActionSupport;

public class Login extends ActionSupport
{
	private String name;
	private String password;
	
	public String execute() throws Exception
	{
		if(!("".equals(name) || "".equals(password)))
			return SUCCESS;
		else
			return INPUT;
	}
	
	public String test() throws Exception
	{
		return "test";
	}

	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}
}

프로필 은 다음 과 같 습 니 다:

<struts>

	<package name="login" namespace="/web" extends="struts-default">
		<action name="login" class="test.Login">
			<result name="input" type="dispatcher">/web/login.jsp</result>
			<result name="success" type="dispatcher">/web/welcome.jsp</result>
			<result name="test" type="dispatcher">/web/test.jsp</result>
		</action>
	</package>
	
</struts>    

이런 방법의 장점 은:
1)struts 설정 파일 에 여러 개의 action 을 설정 할 필요 가 없습니다.모든 action 류 는 하나의 설정 항목 만 설정 하면 됩 니 다.
2)actionName 을 사용 합 니 다!method="test"방식 은 js 가 보조 해 야 합 니 다.이 제출 방식 은 숨겨 진 intput 하나만 있 으 면 해 결 됩 니 다.깔끔 하고 효과 적 입 니 다.

좋은 웹페이지 즐겨찾기