「?」なしで URL 文字列をパラメータとして扱う方法 アクション名の後の文字?
たとえば、データベースからユーザー名があるとしましょう: jr、jack、j など...
私が望むのは、domain.com/user/jr、domain.com/user/jack、domain.com/user/j などを使用してプロファイルを表示することです。
これらの方法はありますか?
例から、jr、jack、j は動的であり、プロファイルの表示に使用されるキーです。
「?」なしで URL 文字列をパラメータとして扱う方法 アクション名の後の文字?
たとえば、データベースからユーザー名があるとしましょう: jr、jack、j など...
私が望むのは、domain.com/user/jr、domain.com/user/jack、domain.com/user/j などを使用してプロファイルを表示することです。
これらの方法はありますか?
例から、jr、jack、j は動的であり、プロファイルの表示に使用されるキーです。
ワイルドカード マッピングを使用します。
アクション注釈(コンベンション プラグイン)の例:
struts.xml
<constant name="struts.enable.SlashesInActionNames" value="true" />
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false" />
<constant name="struts.patternMatcher" value="regex" />
@Action(value = "user/{userName}", results = {
@Result(location = "user.jsp")
})
public class UserAction extends ActionSupport implements Preparable {
private String userName; // with getter & setter
public void prepare() {
// getUserByUserName(userName)
}
}
REST スタイルの URL を探しているので、探しているのは Struts 2 REST プラグインだと思います。
http://struts.apache.org/2.x/docs/rest-plugin.html
プラグインが通常の「アクション」クラス マッピングに取って代わるかどうかは覚えていませんが、そうなる可能性があると思います。つまり、それを提示した後、私がリンクした情報で指定されているように、すべてのアクションを慣習に従ってマッピングする必要があると思います。
幸運を。