2013-02-18 66 views
2

我读代替</>符号中使用{}http://www.smarty.net/syntax_comparison和要点。 Python Django模板语法引擎中的情况也是如此。从上面的代码"</c:if>>$"/>">${="<c:url value="/非常神秘到:避免JSP和HTML标签语法模糊(<,/and >字符)的方法吗?

但是当来到Java的JSP你得到这样的硬可读的代码:

 
<div <c:if test="${bean != null}">style="text-align:center"</c:if>>${bean.title}</div> 

或:

 
<a href="<c:url value="/show/${group.id}.htm"/>">${group.name}</a> 

此序列我。

有一堆问题:

  • 在HTML "使用JSP "
  • 在HTML <></>使用JSP <></>

EL简化JSP寻找,但没有那么匹配。同样重新编写代码使其具有一定的可读性。但为什么 JSP语法所以?是否有可能以某种方式解决JSP语法模糊与HTML/XML语法?

+1

清洁语法可以通过使用替代的表达式来实现(例如'$ {豆== NULL '?':“风格=“文本对齐:center“'}')并使用(自定义)函数。 – McDowell 2013-02-18 09:32:30

+0

@McDowell嗯......有趣的建议! +1 – gavenkoa 2013-02-18 09:48:48

回答

5

这仅仅是JSP的语法,没有通过它得到恼火点。显然你应该更好地格式化你的代码,以便尽可能简单地阅读。

如果你不喜欢它,你可以尝试的Freemarker或者Velocity作为替代模板语言:

http://freemarker.sourceforge.net/

http://velocity.apache.org/

我个人觉得freemarker的最简单的阅读。

通过artbristol提出的一个另一种方法是thymeleaf:

http://www.thymeleaf.org/

+0

有趣,但我坚持JSP在当前项目和JSP是** **标准从大公司...... +1 – gavenkoa 2013-02-18 09:04:17

+1

你可能想http://www.thymeleaf.org/添加到您的选择列表 – artbristol 2013-02-18 09:04:30

+0

JSP不是标准的,我与大公司一起工作,他们同时处理上述两个建议。但是,我明白这可能是一个项目标准,你不能改变 – cowls 2013-02-18 09:05:31