5

オブジェクトのコレクションを文字列から前後に変換するカスタム型コンバーターを作成しようとしています。フォームにテキスト領域があり、保存時にテキスト領域の改行ごとにコレクションに新しいオブジェクトを作成したいと考えています。情報を表示するとき、コレクション内のオブジェクトをループして、テキスト領域の改行を含む文字列に変換したいと考えています。これまでのところ、私が持っている注釈に基づいて、コンバーターを起動したり、何らかのエラーを受け取ったりすることさえできません。以下は私のクラス定義です:

@Conversion()
public class FormsEdit extends JWebCrud{

このクラス内にリストがあります:

private List<Formfield> formFields;

Formnfield クラス内に Set があります。

private Set<Formfieldopts> formfieldoptses = new HashSet<Formfieldopts>(0);

@TypeConversion(converter = "com.webexchange.actions.tpa.setup.forms.FormFieldOptsConverter")
public void setFormfieldoptses(Set<Formfieldopts> formfieldoptses) {
    this.formfieldoptses = formfieldoptses;
}

これらの注釈を適切に設定してコンバーターを起動する方法を教えてもらえますか?

ストラット 2 バージョン: 2.2.1

Struts インターセプター スタック:

            <interceptor-stack name="stackWithSecurity">
                            <interceptor-ref name="closeHibernateSession" />
            <!--catches exceptions pre or post action class-->
            <interceptor-ref name="exceptionInterceptor" />  
            <interceptor-ref name="security">
                <param name="excludeMethods">executeNoSecurity,executeNoSecurityOrValidation</param>
            </interceptor-ref>
            <interceptor-ref name="alias" />
            <interceptor-ref name="servletConfig" />
            <!-- Puts HTTPResponse and HTTPRequest objects on the action -->
             <interceptor-ref name="openHibernateSession" />
            <!-- Opens a db connection and creates a hibernate session -->
            <interceptor-ref name="prepare" />
            <interceptor-ref name="checkbox" /> <!-- Sets unchecked values into the action with a value of 'false' -->
            <interceptor-ref name="params" /><!-- Sets the parameters from the HTTP request to the action -->
            <interceptor-ref name="staticParams" />
            <interceptor-ref name="conversionError" />
            <!-- adds a field error when the value can't be converted to the right type -->
            <interceptor-ref name="chain">
                <!-- these properties should not be copied from one action to another on a chain -->
                <param name="excludes">dao</param>
            </interceptor-ref>
            <interceptor-ref name="validation">
                <param name="excludeMethods">
                    input,back,cancel,browse,delete,executeNoValidation,executeNoSecurityOrValidation,edit
                </param>
                <param name="validateAnnotatedMethodOnly">true</param>
            </interceptor-ref>
            <interceptor-ref name="workflow">
                <param name="excludeMethods">
                    input,back,cancel,browse,delete,executeNoValidation,executeNoSecurityOrValidation,edit
                </param>
            </interceptor-ref>
        </interceptor-stack>

アクション マッピング:

        <action name="formsSave"
        class="com.webexchange.actions.tpa.setup.forms.FormsEdit"
        method="save">
        <result name="success">/jsp/centers/tpa/setup/forms/EditForms.jsp
        </result>
        <result name="input">/jsp/centers/tpa/setup/forms/EditForms.jsp
        </result>
    </action>
4

1 に答える 1

0

助けてくれてありがとうデイブ。私の s:textarea は、変換しようとしていたコレクションを指していませんでした。私がそれをした後、コンバーターが発火し始めました。申し訳ありませんが、私の側ではなんと完全に失敗しました。

于 2012-11-19T15:47:50.980 に答える