0

JSF 2.0 でメール確認リンクを送信しようとしています。正しいリンクは問題なくユーザーの電子メールに送信されますが、ユーザーがクリックしたときにリンクを正しいページにリダイレクトするのに苦労しています。URL マッピングにきれいな顔を使用しようとしています。

確認リンクは次のようになります。

/confirm?param=1xfib3e

かわいい顔の私のコード:

<url-mapping id="confirm">
    <pattern value="/confirm?param=#{ iid : emailConfirmation.param}" />
    <action>#{emailConfirmation.confirmationLink}</action>
</url-mapping>

私もに変更しようとし{ iid : emailConfirmation.param}まし{emailConfirmation.param}{ param : emailConfirmation.param}

そして私は試しました

<url-mapping id="confirm">
    <pattern value="/confirm" />
    <query-param name="param">#{emailConfirmation.param}</query-param>
    <action>#{emailConfirmation.confirmationLink}</action>
</url-mapping>

次のような RequestScoped Bean もあります。

    @Named("emailConfirmation")
    @RequestScoped
    public class EmailConfirmation implements Serializable{

        private String param;
        ....
        public String confirmationLink() {
              log("param value: " + param);
        }

        public String getParam() {
           return param;
        }

        public void setParam(String param) {
           this.param = param;
       }

}

ユーザーがリンクをクリックするたびに、param 値は null になります。これはどのように発生し、どうすれば解決できますか?

4

2 に答える 2

0

<pattern>マッピングの一部でクエリ パラメータを使用することはできません。マッピングのクエリ パラメータを設定する場合は、次のようなものを使用します。

<url-mapping id="confirm">
  <pattern value="/confirm" />
  <query-param name="param">#{emailConfirmation.param}</query-param>
  <action>#{emailConfirmation.confirmationLink}</action>
</url-mapping>

見る:

http://www.ocpsoft.org/docs/prettyfaces/3.3.3/en-US/html/Configuration.html#config.queryparams

于 2015-01-16T12:27:17.847 に答える