JSFでユーザーのメールアドレスがクリックされたことを確認するためにユーザーにメールで送信できるリンクをどのように作成しますか?つまり、リンクをクリックすると、アカウントがアクティブになります。
6256 次
2 に答える
19
すでにJSF2.0を使用していると仮定すると、取得@ManagedProperty
してを取得できます@PostConstruct
。
@ManagedBean
@RequestScoped
public class Activation {
@ManagedProperty(value="#{param.key}")
private String key;
private boolean valid;
@PostConstruct
public void init() {
valid = check(key); // And auto-login if valid?
}
// ...
}
次に、 http://example.com/activate.jsf?key=somelonggeneratedkeyによってアクセスされるJSFで
<h:panelGroup layout="block" rendered="#{activation.valid}">
<p>Your account is successfully activated!</p>
<p><h:link outcome="home">Go to home page</h:link></p>
</h:panelGroup>
<h:panelGroup layout="block" rendered="#{!activation.valid}">
<p>Activation failed! Please enter your email address to try once again.</p>
<h:form>
...
</h:form>
</h:panelGroup>
于 2010-07-21T01:34:43.293 に答える
6
次のようなページ(例では.jsp)を作成することで実装できます。
<f:view beforePhaseListener="#{userActivationController.performActivation}">
(これはファセット用です。jspの場合、属性はちょうどですbeforePhase
)。次に、マネージドBeanのメソッドでFacesContext.getCurrentContext().getExternalContext().getParameterMap()
、リクエストパターンを取得し、アクティベーションコードを取得するために使用します。これは、次のように渡されます。
于 2010-07-20T23:42:48.370 に答える