【问题标题】:Formatting HTML in a JSP在 JSP 中格式化 HTML
【发布时间】:2013-04-15 01:09:22
【问题描述】:

我对 Java 很陌生,如果我的措辞不正确,我提前道歉。我有一个小代码 sn-p,它有多个开始和结束分隔符,因为我有一些与 JSP 混合的 HTML。如果没有 HTML,这可以在几行代码中完成,但我需要 HTML 来呈现,这导致代码行数几乎翻了一番。我想知道是否有更好的方法来做到这一点,而不是有这么多的打开和关闭分隔符。我知道我可以使用模板库,但我试图远离它,并希望尽可能在 JSP(而不是单独的类)中执行此操作。感谢您的帮助!

<%
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
<% } %>

【问题讨论】:

  • 试图在 jsp 中完成这一切恰恰是错误的做法。

标签: java html jsp jakarta-ee


【解决方案1】:

我认为这种问题确实可以通过使用模板库或框架的包含视图约定来解决。

创建这些库是为了解决这类问题并将视图组织为一个整体。它不仅会清除您视图中的混乱,而且还会遵循 MVC 模式。

以struts为例,我们会做这样的事情:

<s:textfield name="myParameter" /> 

还有这个:

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

有关您应该使用模板或框架的更多原因,请访问this question。正如戴夫牛顿所说:

试图在 jsp 中完成这一切恰恰是错误的做法。

希望这能解决问题。

【讨论】:

    【解决方案2】:

    使用 JSTL 代替 JSP 中的所有 Java 代码。您可以在此处阅读有关 JSTL 的信息 - http://docs.oracle.com/javaee/5/tutorial/doc/bnakc.html

    【讨论】:

      【解决方案3】:
      1. 永远不要仅仅为了捕捉 NPE 而捕捉 NPE。

      2. 考虑使用JSTL http://jstl.java.net/getStarted.html,它提供了大量的标签用于迭代等。

      【讨论】:

        【解决方案4】:

        使用 JSF 之类的东西会更好。就像 JSP 一样,它也包含在 Java EE 中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-27
          • 1970-01-01
          • 2016-04-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-03
          • 2014-09-10
          相关资源
          最近更新 更多