Есть ли способ запустить страницу JSF без создания всего проекта?

Есть ли способ просто запустить одну страницу, чтобы я мог видеть сгенерированный html (и css), как он будет выглядеть для пользователя, даже если он по сути нефункциональен? Отдельная страница JSF как бы. Я хочу просмотреть, как я настраиваю формы, чтобы увидеть, имеют ли они смысл, с точки зрения пользователя, прежде чем на самом деле кодировать поля формы. Я использую maven и netbeans, но не уверен, что последнее релевантно.

Ответ 1

Если вы используете 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 (например, файл include или файл тега). Любое содержимое снаружи будет игнорироваться во время выполнения, но вы все равно можете поместить некоторый HTML во время разработки, чтобы вы могли легко просмотреть полные проекты, в которые должен быть включен файл include или tag.

<!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 part of the whole design.
        </ui:composition>
        ...
    </body>
</html>

Все это позволяет вам просматривать проекты HTML/CSS без необходимости выполнения JSF.

Ответ 2

Вы не можете выполнить JSF-страницу напрямую, не нарушая приложенное приложение. Вы должны развернуть это, тогда только вы сможете отображать страницу выполнения.

Ответ 3

JBoss Tools для Eclipse имеют рудиментарную поддержку JSF-тегов в своем визуальном редакторе.

Я играл с ним кратко, но он полностью не поддерживал наши старые страницы, поэтому я оставил его на этом. Он может работать лучше при запуске с пустой страницы.