Pertanyaan JSF 2 - Bagaimana saya bisa mendapatkan nilai context-param dari web.xml menggunakan JSF EL?


Saya ingin menyatakan beberapa nilai konstan yang digunakan oleh JSF 2 webapp saya di dalam file web.xml seperti:

<web-app>
    <context-param>
        <param-name>myconstantkey</param-name>
        <param-value>some string value</param-value>
    </context-param>
</web-app>

Mendapatkan nilai-nilai ini dari dalam backing bean cukup mudah:

FacesContext ctx = FacesContext.getCurrentInstance();
String myConstantValue =
    ctx.getExternalContext().getInitParameter("myconstantkey");

Bagaimana cara mencapai hal yang sama dari dalam halaman Facelets menggunakan JSF EL untuk mendapatkan nilainya?


32
2018-06-29 15:28


asal


Jawaban:


Jawaban Steve Taylor memang berhasil, tetapi ada cara yang lebih sederhana dengan menggunakan objek yang telah ditentukan JSF EL initParam.

<h:outputText value="#{initParam['myconstantkey']}" />

Awalnya ini tidak bekerja untuk saya karena saya lupa untuk menempatkan tanda kutip tunggal di sekitar nama kunci dan mendapatkan kembali string kosong. Solusi ini juga harus bekerja dengan nilai-nilai kunci yang mengandung karakter dot.


33
2018-06-29 15:48



#{facesContext.externalContext.initParameterMap.myconstantkey}

6
2018-06-29 15:33



Melalui EL 

${initParam['myconstantkey']}

0
2018-05-29 09:16