2013-04-15 59 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中。