如何在预先设计的普通 HTML 页面中使用 JSF 表达式语言

How to use JSF Expression Language in predesigned plain HTML page

JSF 通常在 XHTML 页面中使用自己的标签(例如:h:inputText 等)。但是假设我们有一个已经设计好的普通 HTML 页面并且我们想在上面使用 JSF 表达式语言 (EL)。如何实现?

<div class="col-md-10 col-md-offset-1">
  <form>
    <div class="input-group">
      <input id="textField" type= "text" class="form-control" name="searchingWord" placeholder="Search Something ..." value="#{wordController.searchingWord}"/>
      <span class="input-group-btn"> <a id="searchButton" class="btn btn-danger" href="search.html"> SEARCH </a> </span>
    </div>
  </form>
</div>

将普通 HTML 元素转换为 JSF 组件的最简单方法是将 id 替换为 jsf:id

<... xmlns:jsf="http://xmlns.jcp.org/jsf">
...
<form jsf:id="form">
    ...
    <input jsf:id="textField" ... />
    ...
</form>

如果您将 FacesServlet 映射到与 HTML 页面匹配的 URL 模式(例如 *.html),则 Rest 是自动的。此 JSF 2.2+ 功能称为“passthrough elements”。

另请参阅:

  • Is it possible to use JSF+Facelets with HTML 4/5?