我需要传递一个关键参数trought URL,如下所示: http://localhost:8080/ProvAt-war/monitor.jsf?&id=77-6 并根据收到的参数77-6显示列表 我通过javascript funtion获取参数
<ui:repeat value="#{provatBean.descargandoHashMap.get(QueryString)}" var="desc" rendered="#{not empty provatBean.descargandoHashMap.get('QueryString')}">
<h:outputText value="#{desc.descProveedor}"/>
<h:outputText value="EDI" rendered="#{desc.id_grupo/>
<h:outputText value=" NO-EDI" rendered="#{desc.id_grupo/>
<h:outputText value="PERECEDEROS" rendered="#{desc.id_grupo}"/>
</ui:repeat>
var QueryString = function () {
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = decodeURIComponent(pair[1]);
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(decodeURIComponent(pair[1]));
}
}
alert(vars[1]);
return vars[1];
}();
答案 0 :(得分:1)
请求的参数已经通过#{param['key']}
通过EL提供,其中key
是感兴趣的参数名称。你不需要二十几行JavaScript。他们已经解码了。
这是相当基本的。