入力情報を次画面に表示する
今日のおかずは「入力情報を次画面に表示する」です。
では材料をみてみます。
Actionクラスを継承したクラス・・・・一つ
ActionFormクラスを継承したクラス・・・・一つ
struts-config.xml・・・少々
では吟じます!!
まず画面はこんな感じです。
ソースは以下です。
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html:html> <body> <html:form action="info"> 氏名:<html:text property="name" /><br> 年齢:<html:text property="age" /><br> <html:submit /> </html:form> </body> </html:html>
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html:html> <body> <h1>入力情報</h1> <hr> 氏名:<bean:write name="section2" property="name"/> 年齢:<bean:write name="section2" property="age"/> </body> </html:html>
ここがポイントです。
前画面から情報を取り出すには「bean:write」を使用します。
使い方は以下です。
bean:write name="struts-configのnameで定義したもの" property="ActionFormのプロパティ名"
以下がクラスです。
package section2; import org.apache.struts.action.ActionForm; public class InfoForm extends ActionForm{ private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
package section2; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class InfoAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward("result"); } }
これで次画面に表示できました。
あると思います!!
次回からValidatorを作成したいと思います。