标签: facelets

Facelets:如何传递ui:插入值作为html属性?

我正在尝试在Facelets/JSF环境中完成一个小小的调整.我几乎都不知道它们是如何组合在一起的.

我在各个页面上定义了一个值为"title"

<ui:define name="title">PageUID_123</ui:define>
Run Code Online (Sandbox Code Playgroud)

在另一个页面上,我引用了以下内容:

<ui:insert name="title"/>
Run Code Online (Sandbox Code Playgroud)

我可以在插入周围包装html标签就好了,但我需要能够输出"title"的值作为另一个元素的属性.我的最终目标是以html呈现,如下所示:

<meta name="pageid" content="PageUID_123"/>
Run Code Online (Sandbox Code Playgroud)

如果我尝试将insert标记放在content =""位中,则会抛出解析错误.有没有办法做到这一点?

jsf facelets

8
推荐指数
1
解决办法
5986
查看次数

在taglib中定义的自定义Facelets组件和属性

在Facelets中定义自定义组件既简单又快捷,但有一点我无法弄清楚.

Facelets是否可以定义我的自定义组件具有哪些属性?即:我创建了一个以这种方式使用的组件:

 <blue:modalWindow id="editFeesWizard" width="500" height="440" title="Wizard">
Run Code Online (Sandbox Code Playgroud)

并在taglib.xml中定义如下:

<!DOCTYPE facelet-taglib PUBLIC
        "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
        "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
    <namespace>...</namespace>
    <tag>
        <tag-name>modalWindow</tag-name>
        <source>components/modalWindow.xhtml</source>
    </tag>    
</facelet-taglib>
Run Code Online (Sandbox Code Playgroud)

Taglib不包含有关组件属性(id,width,height,title)的任何信息,因此IDE无法检查我的语法,也不能在我输入时建议属性.

我在Facelets文档中找不到关于这个主题的任何内容.以为你可以帮忙.谢谢!

jsf components facelets taglib

8
推荐指数
1
解决办法
3298
查看次数

JSTL c:forEach导致@ViewScoped bean在每个请求上调用@PostConstruct

我再次看到@PostConstruct每次都在触发,即使没有使用绑定属性.看到这段代码: -

<?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:ui="http://java.sun.com/jsf/facelets"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form>
            <c:forEach var="item" items="#{TestBean.listItems}">
                <h:outputText value="#{item}"/>
            </c:forEach>
            <h:commandButton value="Click" actionListener="#{TestBean.actionListener}"/>
        </h:form>
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是JSF中最简单的bean: -

package managedBeans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean(name="TestBean")
@ViewScoped
public class TestBean implements Serializable {

    private List<String> listItems;

    public List<String> getListItems() {
        return listItems;
    }

    public void setListItems(List<String> listItems) {
        this.listItems = listItems;
    } …
Run Code Online (Sandbox Code Playgroud)

java jsf jstl facelets

8
推荐指数
1
解决办法
7399
查看次数

如何在JSF bean中发送表单输入值并调用方法

我正在构建一个JSF应用程序.我定义了GUI并使用select语句对select语句进行查询.

现在我必须执行insert语句,但我不知道如何读取valueJSF输入组件<h:inputText>,并将其发送到执行插入的bean.

应该<h:inputText>映射值faces-config.xml,所以我可以在我的Java代码中使用它吗?

jsf input facelets submit managed-bean

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

Eclipse - 找不到uri http://java.sun.com/jsf/html的facelet标记库

在我看来index.xhtml,我有一个像这样定义的命名空间xmlns:h="http://java.sun.com/jsf/html".此URL处的服务器指示无法找到该页面.

你知道页面移动的位置吗?

Eclipse Info

Version: Indigo Release
Build id: 20110615-0604

java eclipse jsf facelets

8
推荐指数
2
解决办法
4万
查看次数

如何使用页眉/页脚/导航创建可重复使用的模板?

我一直在玩JSF并且有一个项目工作,它有一个页眉/页脚/导航/内容面板.然而,该项目从第1页到第2页等,每个页面具有不同的布局.如何创建可重复使用的模板,在页面之间保持相同的外观,即页眉/页脚/导航保持不变,但内容是否更新?

jsf templates facelets jsf-2

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

PrimeFaces p:ajax无法识别Facelet标记参数

我有一个简单的Facelet标签:

<ui:composition>
  <ui:insert />
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

这是为了避免声明多个c:set标签.
假设我在facelets taglib库中使用名称注册它view,并像这样使用它:

<my:view bean="#{myController}">
  <p:inputText value="#{bean.value}>
    <p:ajax event="blur" process="@this" listener="#{bean.handleValueChanged}" />
  </p:inputText>
</my:view>
Run Code Online (Sandbox Code Playgroud)

该属性value完全由你解决p:inputText,但p:ajax抛出这个:

Target Unreachable, identifier 'bean' resolved to null
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'bean' resolved to null
    at com.sun.el.parser.AstValue.getTarget(AstValue.java:153)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:237)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
    at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
    at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
    at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:47)
Run Code Online (Sandbox Code Playgroud)

这是一个错误或预期的行为?

更新:我刚用f:ajax尝试了同样的工作!

顺便说一句,环境如下:
Glassfish 3.1.2
PF 3.0,3.2,3.3

Update2:
这个问题RichFaces完全相同.似乎就像PrimeFaces的bug(我今天会在PF bug跟踪器上发布一个问题).

facelets primefaces jsf-2 glassfish-3

8
推荐指数
1
解决办法
2008
查看次数

当未呈现父UI组件时,跳过执行<ui:include>

我在webapp中的几个地方有以下构造,以便根据某些操作有条件地呈现页面片段:

<h:panelGroup rendered="#{managedBean.serviceSelected == 'insurance'}">
    <ui:include src="/pages/edocket/include/service1.xhtml" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

我观察到,<ui:include>即使rendered属性评估,仍然会执行false.这会不必要地创建与包含的service1.xhtml文件关联的所有后备bean .

如何<ui:include>在不呈现父UI组件时跳过执行,以便不会不必要地创建所有这些支持bean?

facelets include jsf-2

8
推荐指数
2
解决办法
8813
查看次数

如何创建自定义Facelets标记?

我正在使用JSF 2.0.我使用tagfiles创建了自定义JSTL标记,并且在JSP中运行良好.但我也想在Facelets中使用自定义JSTL标签.是否可以在Facelets中创建标签文件?

jsf facelets tagfile custom-tags jsf-2

8
推荐指数
1
解决办法
4507
查看次数

为什么eclipse中的facelet html验证器花费了无穷的时间

我正在使用Eclipse Luna来实现JSF2.1 Web应用程序,每次我打开项目时,facelet HTML验证器启动,我习惯了eclipse Helios并且它在验证时比luna更快,我不想禁用验证器或者AppXray.我只是不想忍受它

请指教

eclipse facelets jsf-2 eclipse-luna

8
推荐指数
0
解决办法
1370
查看次数