想請教一下我想把js這段顯示到HTML裡面
function para()
{var a,d,i=0;
d+=" <p:menuitem value="1234" outcome="#{loginBean.dede[0]}"/>";
document.getElementById("tes").innerHTML =d;
}
<p:layoutUnit position="west" size="175" header="功能選單" collapsible="true">
<p:menu>
<p:submenu label="test" id ="tes">
/*show here*/
</p:submenu>
</p:menu>
</p:layoutUnit>
但是他都沒反應.....是有那裡寫錯了嗎?
請各位指教,謝謝
你能說明一下:
document.getElementById("tes").style.display =d;
這裡的style.display
是什麼意思?
另外,JSF的組件是在伺服器端render成html的,而javascript是在client端執行的,瀏覽器懂的只有html。你恐怕需要先釐清你的觀念。
不好意思,應該是innerHTML,對吧?
所以意思是我無法用JS嗎?
fillano
而且我在JS中使用for迴圈居然就不行了....
真的想這樣做,你要先觀察<p:menuitem ...>
到底會變成什麼html,然後再考慮。不過不太建議(有點麻煩)...建議先去找一找是否有元件符合你的需求,或是自己寫自訂元件看看...
fillano
想請教一下,自定原件要怎麼自訂阿...?
fillano
想請教一下,其實還是有點不懂,這是指能制定button的意思嗎?
我寫一個簡易的登入系統
想判斷
EX:
A帳號登入可以觀看A,B,C網頁
B帳號登入可以看D,E,F網頁
if(#{loginBean.acc}==a)
{for(i=0;i<5;i++){
d+=" <p:menuitem value="1234" outcome="#{loginBean.dede[i]}"/>";
//a帳號=dede[i]寫在java那邊
//b帳號=dede2[i]
}
document.getElementById("source").show =d;
}
else if .....
那我可以把if和for加進來嗎?
我簡單說,瀏覽器只懂兩件事:javascript跟html。<p:menuitem>
並不是html,而是PrimeFaces定義的JSF元件,瀏覽器完全無法處理他。
fillano
那.....有沒有辦法再jsf中使用if和for
不行的話我真的想不到要怎麼寫下去了.........
jstl core tag裡面就有:
https://www.javatpoint.com/jstl-core-tags
不過這些都是在伺服器端。
換個方向,可以考慮一下<f:ajax />
看看有沒有可能的方法:
https://www.beyondjava.net/blog/a-comprehensive-guide-to-jsf-ajax/
fillano
了解,我再研究看看
fillano
最後我用rendered解決判斷權限問題了
謝謝