入力情報を次画面に表示する

今日のおかずは「入力情報を次画面に表示する」です。
では材料をみてみます。



Actionクラスを継承したクラス・・・・一つ
ActionFormクラスを継承したクラス・・・・一つ
struts-config.xml・・・少々

では吟じます!!
まず画面はこんな感じです。
20090607220157
ソースは以下です。

<%@ 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>

次画面はこんな感じになります。
20090607220158

<%@ 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を作成したいと思います。