2013-04-15 79 views
3

我對Java很新,如果我的寫法不正確,我會提前道歉。我有一個小的代碼片斷,它有多個開始和結束分隔符,因爲我有一些與JSP混合的HTML。沒有HTML,只需要幾行代碼就可以完成,但我需要HTML進行渲染,並且導致代碼行幾乎翻倍。我想知道是否有更好的方法來做到這一點,而不是有這麼多的開始和結束分隔符。我知道我可以使用模板庫,但我試圖遠離這一點,並希望儘可能在JSP(而不是單獨的類)內部執行此操作。謝謝您的幫助!在JSP中格式化HTML

<% 
try { 
    List<Page> children = properties.getPath("getChild", "");  
%>  
    <ul>  
<%  
    for (Page children : e) { 
    if (children != null) {   
%> 
    <li><a href="#">Show a link</a></li> 
<% 
    }//end if statement 
    }//end for loop 
%> 
    <li><a href="<%= currentPage.getPath() %>" href="<%= currentPage.getPath() %>">Another link goes here</a></li>  
    </ul> 
<% 
} catch (NullPointerException e){ 
%> 
//show some content here 
<% } %> 
+5

試圖在jsp中執行所有操作恰恰是錯誤的方法。 –

回答

2

我認爲這種問題可以通過使用模板庫或框架的包含視圖約定來解決。

創建這些庫是爲了解決這些類型的問題並將整個視圖組織起來。它不僅會清除你認爲的混亂,它還將堅持MVC模式。

在Struts中,例如,我們會做這樣的事情:

<s:textfield name="myParameter" /> 

這:

<html:link page="/linkoutput.jsp" paramId="id" paramName="name"/> 

更多的原因,你應該是使用模板或框架參觀this question。正如Dave Newton所說:

試圖在jsp中完成所有操作正是錯誤的方法。

希望能夠清除它。

0

你會更好地使用類似JSF的東西。就像JSP一樣,這也包含在Java EE中。