簡體   English   中英

將GlassFish 4.1升級到4.1.1后,@ Inject在@FacesConverter中不起作用

[英]@Inject doesn't work in @FacesConverter after upgrade GlassFish 4.1 to 4.1.1

我有GlassFish 4.1.1和Payara 4.1.153+的問題。

POJO轉換器中的@Inject點不再起作用。 我錯過了什么? FacesConverter有什么變化嗎?

@FacesConverter("bkkConverter")
public class BkkConverter implements Converter,Serializable
{

  @Inject
  private BkkBean bkkBean;
  ...
  bkkBean.fetchFromDatabase(...); <- NPE

變量bkkBean現在保持為null Converter本身工作( getAsObject / getAsString ),但沒有@Inject

它仍適用於GlassFish 4.1。

您依賴於未指定/未記錄的功能。 鑽嘴魚科2.2無意支持@Inject@FacesConverter@FacesValidator@FacesComponent 2.2.9版本作為一個被遺忘的實驗/回退的后果之前。 預計支持將出現在Mojarra 2.3中,因此需要額外的注釋屬性,如@FacesConverter(managed=true) 另見ao issue 3552

在帶有CDI 1.1的JSF 2.2中,最好的辦法是通過CDI實用程序類手動獲取bean。

BkkBean bkkBean = CDI.current().select(BkkBean.class).get();
// ...

或者,您可以安裝OmniFaces ,以便在@FacesConverter@FacesValidator獲得@Inject (和@EJB )的透明支持

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM