在纯HTML属性中使用JSF EL

在纯HTML属性中使用JSF EL,第1张

概述我们可以在 HTML标记中使用JSF EL吗?例如,在纯HTML格式内< td>我们可以使用EL#{bean.color}作为bgcolor属性吗? <td bgcolor="#{bean.color}"> 答案取决于JSF版本和使用的视图技术.您正在寻找的技术术语是“在模板文本中使用EL”(即不在任何标签/组件内). 根据你的问题历史,你在Websphere上使用JSF 1.2.我假设您仍在使用 我们可以在 HTML标记中使用JsF EL吗?例如,在纯HTML格式内< td>我们可以使用EL#{bean.color}作为bgcolor属性吗? @H_404_7@

@H_404_7@

<td bgcolor="#{bean.color}">
解决方法 答案取决于JsF版本和使用的视图技术.您正在寻找的技术术语是“在模板文本中使用EL”(即不在任何标签/组件内). @H_404_7@

@H_404_7@根据你的问题历史,你在Websphere上使用JsF 1.2.我假设您仍在使用旧的JsP,它是Facelets的前身. JsF EL#{}是否在模板文本中工作取决于所使用的JsP版本. JsP版本与Servlet版本密切相关.

@H_404_7@当您的容器支持Servlet 2.5并且web.xml被声明为符合Servlet 2.5时,那么您正在使用JsP 2.1.在这种情况下,您可以在JsP中使用#{bean}. JsF EL#{}就是以“统一EL”的名义从JsF 1.1迁移到JsP 2.1.

@H_404_7@

<td bgcolor="#{bean.color}">
@H_404_7@但是,当您的容器最多支持Servlet 2.4时,您基本上使用的是JsP 2.0,而您必须使用${bean}.

@H_404_7@

<td bgcolor="${bean.color}">
@H_404_7@这只有一个先决条件:在同一个文档中,在上面一行之前的某个地方你用${bean}引用JsF bean,你需要确保你已经在JsF中用#{bean}引用了同一个bean预先标记,否则bean不会被预先创建.

@H_404_7@当您使用JsP的后续版本Facelets时,即使在Servlet 2.4环境中,您也可以使用它

@H_404_7@

<td bgcolor="#{bean.color}">
@H_404_7@也可以看看:

@H_404_7@> Difference between JSP EL,JSF EL and Unified EL – EL的一些历史
> Is it suggested to use h:outputText for everything?
> PWC6228: #{…} not allowed in a template text body

@H_404_7@与此问题无关,bgcolor属性在HTML中已弃用.您应该使用CSS样式属性.

@H_404_7@

<td >
@H_404_7@即使这样,上述情况也被视为不良做法.将CSS放入.CSS样式表文件中,该文件包含通过< link> /< h:outputStylesheet>并使用合理的类名(例如.odd,.even,.success,.cancelled等)并改为渲染CSS样式类.例如,如果颜色取决于某些状态:

@H_404_7@

<td >
总结

以上是内存溢出为你收集整理的在纯HTML属性中使用JSF EL全部内容,希望文章能够帮你解决在纯HTML属性中使用JSF EL所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081089.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存