- PR -

strutsのactionクラスで生成したデータをForwordした後、そのページでデータを表示するには?

1
投稿者投稿内容
merabi
会議室デビュー日: 2006/02/11
投稿数: 1
投稿日時: 2006-02-11 01:47
Actionクラス内でSQLException等のメッセージを生成します。
そして、findfowardした後jsp内でそのメッセージを表示したいのですが…

今やっているやり方は、ActionクラスでActionFormクラスを作って
それをsetAttributeするってやり方なのですが、うまくいきません…


ActionFormは

public class SQLExceptionMsgForm extends ActionForm {
private String errorCode;

public String getErrorCode() {
return errorCode;
}

public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}

}


Action内で

request.getSession().setAttribute("hoge",SQLExceptionMsgForm );

として、jspで


<html:form action="echo" name="hoge" type="SQLExceptionMsgForm" >
<html:text property="errorCode"/>
<html:submit/>
</html:form>

としているのですが、

org.apache.jasper.JasperException: TLDによると、タグ form の属性 name は無効です

というエラーが出てきてしまいます。


struts-configでは

<form-beans>
 ……
<form-bean name="SQLExceptionMsgForm" type="SQLExceptionMsgForm"/>
</form-beans>

 ……

<action-mappings>
 ……
<forward name="error" path="/ErrorApplicationForm.jsp"/>
 ……
</action-mappings>


となっています。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-02-11 18:14
<html:errors>や<html:messages>の機構を使ってできないですか?
Action#saveErrors()メソッドでメッセージを追加しましょう。

メッセージ表示などのありがちな部分はフレームワークに機能として備わっている
ことが多いので、強引なやり方を考えるより先に調べた方が早いと思いますよ。
1

スキルアップ/キャリアアップ(JOB@IT)