当前位置: 首页 > 面试题库 >

有没有一种方法可以在不构建整个项目的情况下运行JSF页面?

郑曜灿
2023-03-14
问题内容

有没有一种方法可以只运行一个页面,以便我可以看到生成的html(和css),就像它对用户的外观一样,即使它实际上是无法正常工作的呢?独立的JSF页面。我想回顾一下我是如何设置表单的,以便在对表单的字段进行实际编码之前,从用户角度看它们是否有意义。我正在使用maven和netbeans,但不确定后者是否相关。


问题答案:

如果使用的是JSF2 Facelets,则可以仅使用纯HTML设计表单,并使用jsfc属性指定在JSF运行时应使用的相应JSF组件。例如

<form jsfc="h:form">
    <label jsfc="h:outputLabel" for="input1" />
    <input type="text" jsfc="h:inputText" id="input1" value="#{bean.input1}" required="true" />
    <span jsfc="h:message" for="input1" />
    <input type="submit" jsfc="h:commandButton" value="Submit" action="#{bean.submit}" />
</form>

阅读Facelets
<ui:xxx>taglib文档也应该提供一些见解。例如

<span jsfc="ui:remove">
    This is present during design time, but is removed during JSF runtime.
</span>

<div jsfc="ui:repeat" value="#{bean.items}" var="item">#{item}</div>

<table>
    <tr jsfc="ui:repeat" value="#{bean.items}" var="item">
        <td>#{item.id}</td>
        <td>#{item.name}</td>
    </tr>
</table>

以及您可以<ui:composition>用来指定Facelet合成的开始和结束(例如,包含文件或标记文件)的事实。运行时将忽略外部的任何内容,但是您仍然可以在设计时添加一些HTML,以便可以轻松预览应该包含文件或标记文件的完整设计。

<!DOCTYPE html>
<html lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
    <head>
        ...
    </head>
    <body>
        ...
        <ui:composition>
            Here you can design content of include file or
            tag file as if it's part of the whole design.
        </ui:composition>
        ...
    </body>
</html>

所有这些都使您无需JSF运行时即可预览HTML / CSS设计。



 类似资料:
  • HttpServletRequest请求,HttpServletResponse响应 但是在典型的JSF项目中,我根本没有看到这些类的使用,相反,我看到的只是托管bean和Facelet页面。 但是,在web.xml中,我看到:

  • 问题内容: 我想构建一个PHP脚本来验证SQL查询,但不执行它。它不仅应验证语法,而且还应在可能的情况下让您知道是否可以通过查询中的命令来执行查询。这是我想要执行的操作的伪代码: 这样的事情。我希望它模拟查询而不执行它。那就是我想要的,对此我什么也找不到。 为什么我们不希望执行查询的一个示例是,如果查询向数据库中添加了一些内容。我们只希望它在不修改数据库的情况下对其进行仿真。 任何链接或示例将不胜

  • 问题内容: 关于将行旋转为各种数据库的列,有很多文章。他们似乎分为两个阵营,使用案例陈述或使用数据库供应商的内置功能。我正在使用 MySQL ,到目前为止,在任何内置函数上都找不到任何东西,这将使我能够选择任意数量的行值(我想将其转换为列)。如果我不提前知道这些值,则无法构建经常出现在的CASE查询。我想知道在MySQL中是否有类似于其他数据库中称为交叉表或数据透视表的东西: -Postgresq

  • 我正在学习JavaEE。我正在掌握CDI、依赖和上下文注入。现在看起来并不难。 现在我想试着写一些代码。我安装了NetBeans(安装了GlassFish和其他东西),现在有点卡住了。 我的书(冈萨尔维斯的《Java EE 7入门》)有一个很好的简单例子,演示了EJB和上下文/依赖注入、注释、拦截器、生产者等...在书中,他只是写了自己需要的代码,添加了bean.xml,这就是is。他使用mave

  • 问题内容: 我刚刚收到Java更新通知,说Update 17已经发布,所以我运行了更新,发现只有我的公共JRE被更新了。我仍然只有JDK的Update 16。 有没有办法自动提供最新的JDK? 当然,更新不应该放弃旧版本。这应该手动完成,因为Eclipse仍在使用旧版本。更新设置后,我将手动删除旧的JDK。 问题答案: 不在Windows上。如果要通过带有自动更新程序的Linux发行版来获取JDK