我希望我的JSP頁面根據請求中的值包含另一個頁面。 所以我設置如下:動態導入JSP頁面中的文件
request.setAttribute("chosenLang", "NL");
RequestDispatcher dispatcher = request.getRequestDispatcher(address);
dispatcher.forward(request, response);
當我到達「地址」頁面我儘量做到以下幾點:
<c:choose>
<c:when test="${chosenLang eq 'NL'}">
<%@include file="/Localization/NL_Localization.jsp" %>
</c:when>
<c:otherwise>
<%@include file="/Localization/EN_Localization.jsp" %>
</c:otherwise>
</c:choose>
所以,我知道chosenLang發現「NL」屬性,因爲當我改變和標籤之間的什麼到它的作品,我看到測試得到在我的網頁上提及,當我把2個值在那裏,一個用於NL和一個用於其他語言,它也改變了..
雖然真正的錯誤,當我嘗試使用該公司在Localization.jsp文件中的一個定義,像這樣的字符串:
<%
String welcomeStr="this is defining String variable";
%>
而當我把這個字符串的地方倒在我的網頁像
<%=welcomeStr%>
我的IDE犯規警告我說,有什麼東西錯誤。但是,當我編譯和運行我得到以下錯誤:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 48 in the jsp file: /index3.jsp
welcomeStr cannot be resolved
45: <li>My courses</li>
46: <li>My messages [1]</li>
47: <li>My details</li>
48: <li> <%=welcomeStr%></li>
49: </ul>
50: </div>
51: <div id="menuHolder">
所以,我在這裏失蹤? 或者用另一種方式做得更方便嗎?
在此先感謝!
這是功課嗎?只是爲了確定,因爲這對於JSP中的i18n來說是完全錯誤的方法。 – BalusC 2010-11-09 13:46:31
同意9更多去.. – 2010-11-09 13:47:26