4

できるだけ具体的にしようと思います。

2 つのメソッドを持つアクションがあります。1 つは ajax 経由で呼び出され、もう 1 つは通常の送信経由で呼び出されます。

ポイントは、通常の送信からリクエストを取得できないことです。アクション プロパティのみを取得しています。

public class ClientAction{

    @SMDMethod
    public Map<String, Object> findClient(String myParam){
    ...
    }

    public String saveClient(){            
        Map<String, String[]> parameterMap = this.getRequest().getParameterMap();
    }
}

saveClient メソッドからの getRequest が null を返します!!! しかし、なぜ???@SMDMethod で宣言しませんでした

ここにstruts.xmlがあります

<action name="client" class="myCompany.ClientAction">
        <interceptor-ref name="customJSON"><param name="enableSMD">true</param></interceptor-ref>
        <result type="json"><param name="enableSMD">true</param></result>
</action>

私は他のすべての宣言をしました。以前は、メソッドごとに 1 つずつ、2 つの別個のクラスがありましたが、ClientAction と ClientActionJSON では保守性が容易ではありませんでした。

ajax と ajax 以外の両方のメソッドを同じクラスに含める方法についての考え。

4

1 に答える 1