できるだけ具体的にしようと思います。
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 以外の両方のメソッドを同じクラスに含める方法についての考え。