tomcat7 + struts2でwebアプリケーション(3) ModelDriven
フォームから受け取ったパラメータのアクセサをModelDrivenで分離する。
アクション内にはmodelのアクセサだけでよくなる。
(1)パラメータを保持するクラスを作成する(InputModel.java)
import java.io.Serializable; public class InputModel implements Serializable{ private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
(2)アクションクラスを変更する。
import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class TestAction extends ActionSupport implements ModelDriven<InputModel> { private InputModel model = new InputModel(); @Override public String execute() throws Exception { return "success"; } @Override public InputModel getModel() { return model; } }
(3)結果ページを作成する。(result.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!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>result</title> </head> <body> <%-- 単にリストの中身を表示する --%> <s:value="model.username"/> </body> </html>