我想從Java類傳遞一個異常字符串到一個taglib。我從請求中除去異常,並將其傳遞到一個taglib中,該頁面使用錯誤文本在頁面上生成一個div。但是,我收到一個錯誤,說「電子無法解決」以下是我的代碼。如何在taglib scriptlet中使用java類?
<% MyException e = (MyException) request.getAttribute(MyFields.EXCEPTION);
if (e != null) {
String warningLevel = "none";
if(e.getEndUserMessage().contains("warningLevel")){
warningLevel = e.getEndUserMessage().substring(e.getEndUserMessage().indexOf("warningLevel=\"") + 14, e.getEndUserMessage().indexOf("\""));
}
%>
<e:errorcontainer warningLevel="<%=warningLevel %>">
<e:error propertyFile="${SSOFields.ERROR_PROPERTIES}"
alertProperty="<%=e.getEndUserMessage()%>"> //This line is where e cannot be resolved
</e:error>
</e:errorcontainer>
<%
}
%>
我還在學習關於jsp的東西,所以任何幫助都會很棒。先謝謝你。
即使我切換變量名,我仍然得到該變量不能解決在我設置alertProperty行。如果我創建一個字符串變量並將endUserMessage設置爲該變量,並將該字符串傳遞給alertProperty,也會發生這種情況。然後它說這個字符串不能被解析。 – banjokaboom
對不起 - 不能再幫你了,自從我寫了一個taglib已經有一段時間了。如果您有選擇使用什麼模板技術,我不會選擇jsp和自定義taglibs,因爲Freemarker有更好的選擇。 JSP與servlet體系結構緊密相關,並帶有諸如請求和響應之類的隱含變量,因此它需要討厭的黑客做一些簡單的事情,比如模板和HTML電子郵件。此外,您需要成爲一名java開發人員編寫taglib,而智能html開發人員可以編寫freemarker宏。 – asparagino