さまざまな場所で、リクエストパラメータを取得するには@ManagedPropertyを使用する必要があると言われました。問題は、リクエスト文字列からトークンを取得しようとしましたが、どういうわけか常にnullのままであるということです。
ページが呼び出されているリンクは次のようになります。
http://example.com/faces/Check.xhtml?token=EC-8AT450931P272300C&ID=VKEFF29XNGNJG
豆:
@Named(value = "bean")
@RequestScoped
public class Bean implements Serializable {
@Inject
private AccountBean account;
@Inject
private Service web;
@ManagedProperty(value = "#{param.token}")
private String token;
@ManagedProperty(value = "#{param.ID}")
private String id;
@PostConstruct
public void init() {
System.out.println("token: " + token);
}
ページ
<ui:define name="content">
<h:form>
<pou:commandButton action="#{bean.test()}" value="complete"/>
</h:form>
</ui:define>
そして私が試した他のこと:
Map<String, String> e = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
これにはリクエストパラメータも含まれていません。リクエストを取得できるすべてのfacesContextについても同じことが言えます。
ヘルプをいただければ幸いです。
PS私は背後にあるものを変更することはできませんか?私の手の届かないプログラムから呼び出された