2016-06-04 11 views
0

Ich frage mich, wenn das Ändern der EL-Resolver, so dass eine Bean öffentliche Felder in JSF verwenden kann, Probleme mit den Proxies verursachen könnte? [Deshalb ist es kein Duplikat.] Aall-verwaltete Bean-Felder müssen im Framework privat sein, denn so macht der EL-Resolver Dinge. Es ist jedoch ein wenig umständlich und sieht die meiste Zeit nutzlos aus.Mit öffentlichen Feld, wird es mit den Proxies?

Also würde es Problem mit Proxies verursachen, die versuchen, Sachen oder was nicht abzufangen?

Dieser Kerl in this question verändert offenbar die el Resolver so ist es ja

+0

Bitte beziehen Sie sich nicht auf andere Fragen. versuchen Sie, Ihre Frage so atomar wie möglich zu machen (die andere Frage kann entfernt werden) – Leo

+1

@Leo allright Ich werde das bearbeiten – Ced

+0

Also, diese Frage ist ein Duplikat. –

Antwort

1

Leider machbar ist, wird es Chaos mit CDI.

Warum? Weil der Zugriff auf das öffentliche Feld unmöglich ist, wenn Bean per Proxy übertragen wird. Mit Weld während des Startvorgangs erhalten Sie eine Definition Fehlermeldung erhalten:

WELD-000075: Normal scoped managed bean implementation class has a public field ... 

Es wird gut für Nicht-Proxy-Bereiche nur arbeiten (@Singleton und @Dependant).

Ich stimme es etwas umständlich ist und sieht manchmal nutzlos, so haben Sie zwei Möglichkeiten:

  1. Verwenden IDE automatisch zu generieren.
  2. Verwenden Sie lombok Projekt.

Aber keiner von ihnen ist perfekt.

+0

Sie sind auf einer Rolle! Vielen Dank – Ced