私はすべてのアクション Bean で URL バインディングを使用していますが、一部のアクション Bean にはパラメーター (/admin/users/123 など) が必要です。
この URL を例にとると、私のアクション Bean では、パラメーター 123 を取得して、ユーザー情報を正常に表示できます。同じページでユーザー情報を変更できますが、ここで問題が発生します。
更新されたユーザー情報を送信すると、URL は /admin/users になります。
context.getRequest().getRequestURL() を呼び出すと、/admin/users/123 ではなく /admin/users が返されるため、これは問題です。
これは、jsp でのタグの記述方法が原因であると考えられます。
<stripes:form beanclass="com.name.ui.web.stripes.action.admin.UserActionBean">...</stripes:form>
これはに解決されます
<form action="/admin/users" method="post">...</form>
対応するアクション Bean は、次のようにコーディングされ、注釈が付けられます。
@UrlBinding("/admin/users/{userId}")
public class UserActionBean{
private long userId;
public long getUserId(){return userId;}
public void setUserId(long userId){this.userId=userId;}
}
誰かが同じ問題に遭遇し、それを解決できましたか?