- PR -

ActionFormについて

1
投稿者投稿内容
JIN
会議室デビュー日: 2005/06/04
投稿数: 3
お住まい・勤務地: 東京
投稿日時: 2005-06-04 10:53
はじめまして、JINと申します
早速ですが質問させていただきます。
例えば

struts-config.xml(start)--------------------------

<form-beans>
<form-bean
name="A"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="name"
type="java.lang.String" />
</form-bean>
<form-bean
name="B"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="id"
type="java.lang.String" />
</form-bean>
</form-beans>

<action-mappings>
<action path="/A"
type="struts.A"
name="a"
scope="request">
<forward name="success" path="/B.jsp"/>
</action>
</action-mappings>
<action-mappings>
<action path="/B"
type="struts.B"
name="b"
scope="request">
<forward name="success" path="/C.jsp"/>
</action>
</action-mappings>

struts-config.xml(end)--------------------------

A.jsp(start)--------------------------

<html:form action="/A">
<%-- 入力項目 --%>
<html:text property="a"/>
<br><br>
<html:submit property="submit" value="送信"/>

A.jsp(end)--------------------------


という感じでA.jspをsubmitすると

struts.A.java(start)--------------------------

package struts;

public final class DynaAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {

//@
DynaActionForm daf = (DynaActionForm)form;

struts.A.java(end)--------------------------

@のDynaActionFormはstruts-config.xmlで定義した

<form-bean
name="A"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="name"
type="java.lang.String" />
</form-bean>

上記の設定のDynaActionFormが取得できますよね?


そこで質問です

<form-bean
name="B"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="id"
type="java.lang.String" />
</form-bean>

のDynaActionFormを取得するにはどうしたら良いでしょうか?

なにとぞよろしくお願いいたします。
JIN
会議室デビュー日: 2005/06/04
投稿数: 3
お住まい・勤務地: 東京
投稿日時: 2005-06-04 11:09
すいませんクラス名が間違っていました

struts.A.java(start)--------------------------

package struts;

public final class A extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {

//@
DynaActionForm daf = (DynaActionForm)form;

struts.A.java(end)--------------------------

因みにstruts1.1を使用しております

よろしくお願いいたします。
JIN
会議室デビュー日: 2005/06/04
投稿数: 3
お住まい・勤務地: 東京
投稿日時: 2005-06-05 13:31
すいません、過去ログを参考に下記のやり方で解決しました。

過去ログをちゃんと読まずに投稿してしまい、申し訳ございませんでした。

また、よろしくお願いいたします。

ActionMapping mapping;
//インスタンスが取得可能であると仮定する

ModuleConfig moduleConfig = mapping.getModuleConfig();
FormBeanConfig fbc = moduleConfig.findFormBeanConfig("NextForm");

DynaActionFormClass dynaClass =
DynaActionFormClass.createDynaActionFormClass(fbc);

DynaActionFormform = (DynaActionForm)dynaClass.newInstance();
1

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