1

「?」なし​​で URL 文字列をパラメータとして扱う方法 アクション名の後の文字?

たとえば、データベースからユーザー名があるとしましょう: jr、jack、j など...

私が望むのは、domain.com/user/jr、domain.com/user/jack、domain.com/user/j などを使用してプロファイルを表示することです。

これらの方法はありますか?

例から、jr、jack、j は動的であり、プロファイルの表示に使用されるキーです。

4

2 に答える 2

1

ワイルドカード マッピングを使用します。

アクション注釈(コンベンション プラグイン)の例:

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)
    }
}

于 2012-05-03T13:15:44.647 に答える
0

REST スタイルの URL を探しているので、探しているのは Struts 2 REST プラグインだと思います。

http://struts.apache.org/2.x/docs/rest-plugin.html

プラグインが通常の「アクション」クラス マッピングに取って代わるかどうかは覚えていませんが、そうなる可能性があると思います。つまり、それを提示した後、私がリンクした情報で指定されているように、すべてのアクションを慣習に従ってマッピングする必要があると思います。

幸運を。

于 2012-05-03T02:34:08.657 に答える