JSP 插入了一些奇怪的空格和空行,但没有别的。
顺便说一句,那个空白是可以修剪的。在 Tomcat 和克隆中,您需要做的就是将JspServlet
's init 参数设置trimSpaces
为true
.
但是我已经尝试过的所有库都生成了糟糕的 html,其中混合了脚本,并在 html 中混合了一些额外的隐藏输入和样式。这些库还经常提供表格布局(具有不同的 Panel、GridPanel 和其他组件)。
如果这是您最关心的问题,那么请继续进行基本的 JSF 实现。它提供了您开始所需的一切,如有必要,可以在Tomahawk的帮助下获得更多增强的组件(例如无表无线电/复选框)和缺少的组件(例如文件上传和数据列表)。
这样你就可以按照通常的方式来做 CSS:完全外部化在一个单独的文件中,并且只styleClass
在 JSF 中使用。不要使用该style
属性混合内联 CSS。如果您想要样式化以冒号分隔的 JSF 客户端 ID(冒号是 CSS 中的非法标识符),那么您只需在选择器中使用反斜杠对其进行转义。例如#formid\:inputid { background: gray; }
。
也不要使用属性混合内联脚本on*
。使用jQuery引入不显眼的Javascript。至于来自 JSF 组件的自动生成的 Javascript,在基本实现中你只会得到这个,h:commandLink
它基本上是一个<a>
提交隐藏 POST 表单的元素。由于这在语义/技术/SEO 上是错误的,我根本不会使用它。只需使用h:commandButton
提交表单和h:outputLink
导航。
至于表格设计,从 JSF 1.2 开始,您可以在模板中编写纯 HTML。您可以只使用<div>
元素来定义定位的内容元素。如果您是一个纯粹主义者,您甚至可以使用 JSF<h:panelGroup layout="block">
来获取 HTML<div>
元素。绝对没有必要使用<h:panelGrid>
来定位内容元素。
我不确切知道,但我认为 ASP.NET 会产生类似的东西。
确实如此。
那么问题来了:它是 Web 开发的新标准——创建快速而肮脏的 html 吗?
不,你已经掌握了它。