Struts1.x 시리즈 자습서(19): LookupDispatchAction 클래스는 form 여러 submit 처리

1969 단어 Webstruts1
HTML form에서 여러 개의 제출 단추를 제공해야 할 때가 있습니다. 이 때 LookupDispatchAction 클래스가 유용합니다.LookupDispatchAction은 클라이언트 코드에 여러 개의 제출 단추가 포함된 경우를 처리하는 데 사용되는 디스패치Action의 하위 클래스입니다.LookupDispatchAction을 사용하려면 먼저 다음과 같은 클라이언트 코드를 작성합니다.
<html:form action="myaction">
<html:submit property="action">
<bean:message key="submit.print"/>
</html:submit>
<html:submit property="action">
<bean:message key="submit.save"/>
</html:submit>
</html:form>

그중에submit.print와submit.save는 속성 파일의 키입니다.action은 실제로 제출 단추의name 속성 값입니다.제출할 때property와 은(는) 요청 매개변수 및 매개변수 값으로 Struts 작업에 전달됩니다.save 단추를 눌렀을 때 요청 URL은http://localhost:8080/.../myaction.do?action=save.그중save는submit입니다.save가 속성 파일에 대응하는 속성 값, 즉submit.save = save.
다음은 다음과 같은 LookupDispatchAction 하위 클래스를 작성합니다.
package action;
import org.apache.struts.actions.LookupDispatchAction;
publicclass MyLookupDispatchAction extends LookupDispatchAction
{
//        ,          ,     key value      Map   
//       getKeyMethodMap              key-value 
//      Map   
protected Map getKeyMethodMap()
{
Map m = new HashMap();
m.put("submit.print", "print");
m.put("submit.save", "save");
return m;
}
public ActionForward print (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
//   print  
}
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
//   save  
}
}

LookupDispatchAction의 하위 클래스를 작성할 때 getKeyMethodMap 방법을 실행해야 합니다. 이 방법에서 키와 Action 방법을 비추어야 합니다.다음 코드는 MyLookupDispatchAction을 구성하는 데 사용됩니다.
<action path="/moresubmit" type="action.MyLookupDispatchAction" parameter="action"/>

여기서 parameter 속성은 요청 URL에서 제출 단추로 생성된 요청 매개 변수 이름을 지정합니다.

좋은 웹페이지 즐겨찾기