标签: facelets

如何插入像&和<在JSF组件的值属性中的特殊字符?

如何插入特殊字符,如&<成JSF组件value的属性?

例如:我想要这样的东西:

<h:outputText value="Tom & Jerry Show" />
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我得到以下异常:

javax.faces.view.facelets.FaceletException:Error Parsing /foo.xhtml:Error Traced [line:15]实体名称必须紧跟在实体引用中的'&'之后.

如果是<,我得到以下异常:

javax.faces.view.facelets.FaceletException:Error Parsing /foo.xhtml:Error Traced [line:15]与元素类型"h:outputText"关联的属性"value"的值不能包含"<"字符.

xhtml jsf facelets

25
推荐指数
1
解决办法
4万
查看次数

如何在没有模型的Facelets中通过简单的for循环重复输出文本?

如何使用标准标签(ui:,h:etc)重复JSF中某些内容的输出?换句话说 - 如何在JSF中执行以下PHP代码?我马上想利用ui:repeat它,但它需要收集 - 我只有号码.

for ($i = 0; $i < 10; $i++) {
    echo "<div>content</div>";
}
Run Code Online (Sandbox Code Playgroud)

jsf facelets jsf-2 uirepeat

24
推荐指数
2
解决办法
5万
查看次数

ui:decorate和ui:include之间真正的概念差异是什么?

它发生前我ui:decorate在功能一样ui:include,只是你也可以通过ui:paramui:define被包含文件.

我疯了吗?

编辑:虽然事实上你也可以传递ui:param给一个ui:include文件,但事实证明我已经在做了.也许你也可以通过ui:define,我会在这里检查和编辑.

jsf facelets

23
推荐指数
1
解决办法
3万
查看次数

如何创建动态JSF表单字段

我发现了一些像这样的类似问题,但是有很多方法可以做到这让我更加困惑.

我们正在获取XML正在阅读的文件.其中XML包含有关需要显示的某些表单字段的信息.

所以我创建了这个DynamicField.java包含我们需要的所有信息的自定义:

public class DynamicField {
  private String label; // label of the field
  private String fieldKey; // some key to identify the field
  private String fieldValue; // the value of field
  private String type; // can be input,radio,selectbox etc

  // Getters + setters.
}
Run Code Online (Sandbox Code Playgroud)

所以我们有一个List<DynamicField>.

我想迭代这个列表并填充表单字段,使它看起来像这样:

<h:dataTable value="#{dynamicFields}" var="field">
    <my:someCustomComponent value="#{field}" />
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

然后<my:someCustomComponent>将返回相应的JSF表单组件(即label,inputText)

另一种方法是只显示<my:someCustomComponent>,然后返回一个HtmlDataTable带有表单元素.(我认为这可能更容易).

哪种方法最好?有人可以告诉我一些链接或代码,它显示我如何创建这个?我更喜欢完整的代码示例,而不是像"你需要一个子类javax.faces.component.UIComponent" 这样的答案.

jsf components facelets dynamic-forms

21
推荐指数
2
解决办法
5万
查看次数

如果未知数量,如何在HTML表格中均匀分配列宽?

我正在使用JSF/ICEFaces,我需要从动态树结构生成一个表,其中包含未知(运行时)的行数和列数.该表必须具有width: 100%;占据其容器内的所有空间.

我能够生成表所需的所有标记,但我发现单元格的宽度不一样.

width: (100/numberOfColumns)%如果我知道我正在渲染的元素数量,那么设置CSS会很容易.不幸的是,我不能修改我的支持bean返回的类,所以我只能用ui:repeater组件迭代它们.

你知道是否有一种CSS方法可以确保表中的所有列具有相同的宽度,无论它是什么?

我不想使用Javascript方式.尽可能清晰的代码.

html css jsf facelets

21
推荐指数
2
解决办法
3万
查看次数

Primefaces 3.0.M2 SelectOneMenu Ajax行为的问题

我在实现两个SelectOneMenu控件时遇到问题,第二个控件中的数据取决于第一个控件的选择.primeFaces展示的这个例子与我想要实现的几乎相同:http://www.primefaces.org/showcase-labs/ui/pprSelect.jsf

除了我必须从数据库中获取数据.

上面的示例在同一个项目中正常工作.我使用的是NetBeans 7.0和GlassFish 3.1以及PrimeFaces 3.0.M2,这是最新一次(2011年6月20日).

附加了JSF页面和托管bean的源代码.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://primefaces.prime.com.tr/ui" 
  xmlns:f="http://java.sun.com/jsf/core">
<h:head><title>Facelet Title</title></h:head>
<h:body>
 <p:log />
    <center>
        <h:form>
            <h:outputText value="State: "/>
            <p:selectOneMenu id="selectState" value="#{stateCityBean.selectedStateArray}">
                <f:selectItem itemLabel="Select Any" itemValue="Empty String"/>
                <p:ajax update="selectCity" listener="#{stateCityBean.updateCityMap}"/>
                <f:selectItems value="#{stateCityBean.stateMap}" />
            </p:selectOneMenu>
            <p></p>
            <h:outputText value="City: "/>
            <p:selectOneMenu id="selectCity" value="#{stateCityBean.selectedCityArray}">
                <f:selectItem itemLabel="Select Any" itemValue="Empty String"/>
                <f:selectItems value="#{stateCityBean.cityMap}"/>
            </p:selectOneMenu>
        </h:form>
    </center>
</h:body>
Run Code Online (Sandbox Code Playgroud)

StateCityBean.java

package com.xyz.mbeans;
import com.iwizability.priceinfo.dao.*;
import com.iwizability.priceinfo.pojo.*;
import java.util.LinkedHashMap;
import …
Run Code Online (Sandbox Code Playgroud)

ajax facelets primefaces jsf-2

21
推荐指数
1
解决办法
2万
查看次数

使用<ui:composition>模板时,我应该在哪里声明<f:metadata>?

我在将我的JSF应用程序转换为可书籍标记的页面方面取得了很大进展,但我想知道我是否以正确的方式进行操作.一个问题是f:元数据标签是否有最佳实践位置?

我的典型Facelets客户端页面如下所示:

    <ui:composition template="./pattern.xhtml">

        <ui:define name="content">

            <f:metadata>
                <f:viewParam name="userId" value="#{bean.userId}" />
                <f:viewParam name="startRecord" value="#{bean.startRecord}" />
                <f:viewParam name="pageSize" value="#{bean.pageSize}" />
                <f:viewParam name="sort" value="#{bean.sort}" />
            </f:metadata>

            <h1>Data Table</h1>

etc
Run Code Online (Sandbox Code Playgroud)

所以f:metadata和child f:viewParam标签在我的页面正文中遇到.我的pattern.xhtml模板还有一个部分(名为"header"),可以将这些标记放在标题部分.它们应该放在那里吗?它是否有所作为,或者我是否设置了一些我尚未见过的副作用?

jsf metadata facelets templating composition

21
推荐指数
1
解决办法
2万
查看次数

如何使用相同的凭据记录两次用户会话时使其无效

我正在使用带有Richfaces和Facelets的JSF 1.2.

我有一个应用程序,有许多会话范围的bean和一些应用程序bean.

用户使用Firefox登录.创建一个ID ="A"的会话; 然后他打开Chrome并使用相同的凭据再次登录.创建ID ="B"的会话.

当创建会话"B"时,我希望能够销毁会话"A".怎么做?

也.当Firefox中的用户做任何事情时,我希望能够显示一个弹出窗口或某种通知,说"你已经登出,因为你已经从其他地方登录".

我有一个sessionListener,可以跟踪创建和销毁的会话.问题是,我可以将HTTPSession对象保存在应用程序范围的bean中,并在检测到用户已登录两次时将其销毁.但有些东西告诉我这是错误的,不会奏效.

JSF是否跟踪服务器端的某些会话?如何通过标识符访问它们?如果没有,如何在用户登录两次时首次登录?

java session jsf richfaces facelets

19
推荐指数
1
解决办法
2万
查看次数

在JAR中打包Facelets文件(模板,包含,复合)

是否有可能把JSF2 Facelets文件与普通的内容为JAR从内部如其他Web应用程序中使用<ui:composition template>,<ui:include src>,<cc:implementation>等?如果是,我怎样才能实现这一目标?是否需要一些额外的配置?

jsf modularity jar facelets jsf-2

19
推荐指数
1
解决办法
2万
查看次数

如何自定义JSF验证错误消息

如何自定义验证失败时出现的验证消息?

这是我的代码:

<h:form>
    <p><h:inputText
           id="userNo"
           title="Type a number from 0 to 10:">
       <f:validateLongRange
           minimum="3"
           maximum="6"/>
       </h:inputText>

       <h:commandButton id="submit" value="Submit"
           action="response"/>
    </p>
    <h:message showSummary="true" showDetail="false"
        id="errors1"
        for="userNo"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)

目前消息如下所示:

j_idt10:userNo: Validation Error: Specified attribute is not between the expected values of 3 and 6. 
Run Code Online (Sandbox Code Playgroud)

哪个不是特别用户友好.

validation jsf message facelets

19
推荐指数
3
解决办法
6万
查看次数