爲什麼一個JSP腳本像下面 假設狀態裏面,我們窩JSP表達式爲true我們爲什麼要分開jsp scriptlet和jsp表達式?
if(state) { %>
<%= "yes"%>
<%} else { %>
<%= "no"%>
%<}%>
爲什麼一個JSP腳本像下面 假設狀態裏面,我們窩JSP表達式爲true我們爲什麼要分開jsp scriptlet和jsp表達式?
if(state) { %>
<%= "yes"%>
<%} else { %>
<%= "no"%>
%<}%>
<%= foo %>
意味着:評估FOO,並將其打印到JSP作家。所以,如果你想要做的是一個scriptlet裏面,您只需要
<% out.print(foo); %>
你上面的例子可以這樣寫爲
<%
if(state) {
out.print("yes");
} else {
out.print("no");
}
%>
這就是說,小腳本不宜使用,在所有,並適合年齡。瞭解JSP EL,JSTL,並根據需要使用其他自定義標籤。但不要使用scriptlet。
如果state
是一個頁面或請求屬性,例如,上面的代碼可以寫成
${state ? "yes" : "no"}
感謝您的建議。只是爲了好奇,爲什麼我們應該在jsp scriptlet中嵌套jsp表達式。不能我們把它寫在一邊jsp腳本? –
這不是你問你的問題,我給了答案嗎?如果不是,請解釋你的意思。舉例說明你希望能做什麼。 –
<% 如果(州){ <%= "yes"%> }其他{ <%= "no"%> } %> –
現在,我得到了答案。 Scriptlet代碼直接插入到servlet中,沒有任何改變。所以如果我們放置任何嵌套在scriptlet中的表達式,這是一個編譯時錯誤。 –