标签: facelets

如何在JSF模板中定义将在别处定义的onLoad函数

我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用onLoad函数,但不是我的其他页面(尚未).我有一个template.xhtml文件,它有这个插入:

<div id="content"> <ui:insert name="content"/> </div>

然后在login.xhtml我有:

<ui:define name="content"> ... </ui:define>

通常我会把它放在login.xhtml中:

<body onload="document.getElementById('login_form:name').focus();">

但由于我使用的是JSF的ui组合标签,因此我无法<body/>在login.xhtml中使用该标签(至少我尝试这样做的方式).

有没有办法用我描述的结构来实现这一目标?我想这样做的方法是让onLoad调用模板中的一个函数,然后每个带有ui:define的页面都会填充这个函数.那可能吗?

谢谢!

java jsf jsp facelets

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

Facelets和JSTL(将日期转换为字符串以在字段中使用)

我需要将一个Date转换为一个页面中的String(我不想将toStrings的负载添加到我的域模型中,因此不能添加到bean中).

<ice:graphicImage value="bean.image" title="#{bean.date}"/>
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,但以默认格式格式化日期...我想更改格式.

我已经尝试过使用JSTL fmt,但这似乎与Facelets JSF转换为title属性的日期兼容.有没有解决方法(不必使用JSTL)?

谢谢.

jsf jstl facelets

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

JSF - 在ajax调用之后加载/插入不同的div

我认为这个主题解释了我在寻找什么:

template.xhtml

<div class="content">
    <ui:insert name="content_homepage">Box Content Here</ui:insert>
</div>
Run Code Online (Sandbox Code Playgroud)

index.xhtml

<ui:composition template="./template.xhtml">
    <ui:define name="title">
        JSF - The Sinfonet Portal
    </ui:define>

    <ui:define name="login">
        <h:form id="form1" prependId="false">
            <h:outputScript name="jsf.js" library="javax.faces" target="head" />

            <span class="menu_span">Username</span>
            <h:inputText value="#{login.name}" id="name" />

            <span class="menu_span">
                <h:commandButton value="Login" action="#{login.checkLogin}">
                        <f:ajax event="action" execute="name" render="??????"/>
                </h:commandButton>                    
            </span>
        </h:form>
    </ui:define>

    <ui:define name="content_homepage">
        <span class="content_title">Homepage</span>
    </ui:define>

    <ui:define name="content_logged">
        <span class="content_title">OK. You are logged</span>
    </ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

管理豆

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name="login")
@RequestScoped
public class Login {
    private String name = "";

    public …
Run Code Online (Sandbox Code Playgroud)

ajax jsf facelets jsf-2

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

过滤空行后使用Primefaces在数据表中进行分页时显示的空白行

我使用Primefaces 2.2.1和JSF 2.0有数据表的问题.

我在数据表中使用了过滤和分页.当我尝试过滤时,显示所选数据,当我删除过滤器时,显示整个数据.但在此之后,当我尝试使用分页然后suddendly所有行变为空白(空)请参见下面的截图

在此输入图像描述

在此输入图像描述

在此输入图像描述

有什么建议.请帮忙.

.xhtml文件

<p:dataTable var="user" value="#{userManagedBean.searchUsersResults}"
        selection="#{userManagedBean.selectedUser}" selectionMode="single"
        dynamic="true"
        onRowSelectUpdate="userUpdateForm"
        onRowUnselectUpdate="userUpdateForm"
        rowSelectListener="#{userManagedBean.onUserSelect}"
        rowUnselectListener="#{userManagedBean.onUserUnselect}"
        paginator="true" rows="10" style="width: 70% ">
        <p:column sortBy="#{user.userId}" filterBy="#{user.userId}" >
            <f:facet name="header">
            <h:outputText value="Id" />
            </f:facet>
            <h:outputText value="#{user.userId}" />
            </p:column>
            <p:column sortBy="#{user.username}" filterBy="#{user.username}">
            <f:facet name="header">
            <h:outputText value="Name" />
            </f:facet>
            <h:outputText value="#{user.username}" />
            </p:column>
            <p:column sortBy="#{user.emailId}" filterBy="#{user.emailId}">
            <f:facet name="header">
            <h:outputText value="Email" />
            </f:facet>
            <h:outputText value="#{user.emailId}" />
            </p:column>
            <p:column sortBy="#{user.dob}" filterBy="#{user.dob}">
            <f:facet name="header">
            <h:outputText value="DOB" />
            </f:facet>
            <h:outputText value="#{user.dob}" >
                <f:convertDateTime pattern="MM/dd/yyyy" />
            </h:outputText>
        </p:column>
    </p:dataTable>
    <p:panel …
Run Code Online (Sandbox Code Playgroud)

datatable jsf facelets primefaces

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

如何在eclipse中查看jsf/facelets元素的文档

我正在使用helios 3.6.2.我用网页编辑器打开了一个.xhtml

<!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:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      >
<f:view>
<h:head>
...
</h:head>
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在一个元素上时,例如f:view,我只看到:

元素:f:视图

而不是根据tld的假设如下的描述:

创建一个JSF视图,它是一个容纳视图一部分的所有组件的容器.

除非另有说明,否则所有属性都接受静态值或EL表达式.

有关更多详细信息,请参阅JSF规范中此类的javadoc.

无论如何我可以配置eclipse来做到这一点吗?

eclipse tags jsf facelets

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

XML或文本声明不在实体的开头

抱歉有点愚蠢.但我明白(我缺乏知识)如果你想在那个页面上使用RichFaces组件,就不可能转发到另一个页面.

这是我转发到具有RichFaces组件的页面时遇到的一些问题

  • 如果我转发到带有表单的页面,则会有数百个包含的JavaScrip被解释为格式错误的XML标记.
  • 如果我使用嵌套表,表将松散CSS文件,看起来像普通的JSF 2.0 dataTables.
  • 当转发到只有tabPanel的页面时,如演示TabPanel - Show Case一样,选项卡面板变得混乱并变得不可用(参见图像beelow).

我不需要转发到具有RichFaces组件的页面,但是拥有该选项会很好.可能我误解了如何使用RichFaces的关键.

仅为了您的信息,我在NetBeans 7.0.1中创建了一个全新的Web项目并制作了两个页面.通过a4j:commandLink我从第一页转发到第二页有一个选项卡面板.渲染变得混乱,面板变得无法使用.除了包含RichFaces所需的库和标签之外,新项目完全没有web.xml和rich-faces.xml中的setup参数.

当我转发到具有RichFaces组件的页面时,我错过了什么?

PS.如果有一个模式可以遵循,这将有助于如何使页面转发与RichFaces一起工作.

问候克里斯.

这是firebug报告的错误(在调用转发之后)

XML or text declaration not at start of entity
http://localhost:8080/humis/faces/app_user/projectHome.xhtml
Line 7
Run Code Online (Sandbox Code Playgroud)

Firebug报告页面的这些状态

  • 200好的
  • 304未修改

它是标题中的内容,包括20-30个脚本.不知道如何在这里包含长html列表.它自己接受的请求没问题,但RichFaces生成了一些我可以控制进行页面转发的东西.

masterLayout文件;

<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <h:outputStylesheet name="css/default.css"/>
    <h:outputStylesheet name="css/cssLayout.css"/>

    <title>
        <h:outputText value="Partner Tapestry - " /> <ui:insert name="title">Browser Title</ui:insert>
    </title>
</h:head>

<h:body>
    <div id="top" >
        <ui:insert name="top">Top Default</ui:insert>
    </div>

    <div id="messages">
        <rich:messages id="messagePanel" ajaxRendered="true"/>
    </div>

    <div id="content">
        <ui:insert name="content">Content Default</ui:insert>
    </div> …
Run Code Online (Sandbox Code Playgroud)

xml jsf facelets jsf-2

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

在URL中使用&会导致XML错误:对实体"foo"的引用必须以";"结尾 分隔符

我正在尝试使用以下代码获取谷歌地图图像:

<img src="http://maps.googleapis.com/maps/api/staticmap?center=#{profile.latitude},#{profile.longitude}&zoom=14&size=400x400&sensor=false"/>
Run Code Online (Sandbox Code Playgroud)

但我在浏览器中遇到异常,其中说:

错误解析/content/profile.xhtml:
跟踪错误[line:48]对实体"zoom"的引用必须以';'结尾 分隔符.

如何避免将&URL 解释为XML?

jsf entity facelets ampersand

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

javax.faces.view.facelets.FaceletException:Error Parsing /my.xhtml:Error Traced [line:42]元素"f:facet"的前缀"f"未绑定

我想创建一个可以将数据从数据库显示到JSF页面的表.我找到了这段代码:

<h:dataTable value="#{bookStore.items}" var="store">
  <h:column>
    <f:facet name="header">
      <h:outputText  value="#{msg.storeNameLabel}"/>
    </f:facet>
    <h:outputText value="#{store.name}"/>
  </h:column>
  <h:column>
    <f:facet name="header">
      Subject
    </f:facet>
    <h:outputText value="#{store.subject}"/>
  </h:column>
  <h:column>
    <f:facet name="header">
      <h:outputText  value="#{msg.storePriceLabel}"/>
    </f:facet>
    <h:outputText value="#{store.price}"/>
  </h:column>
</h:dataTable> 
Run Code Online (Sandbox Code Playgroud)

当我使用此代码时,我在Netbeans中收到此错误消息:

javax.faces.view.facelets.FaceletException:Error Parsing /my.xhtml:Error Traced [line:42]元素"f:facet"的前缀"f"未绑定

如果我用f标签替换h标签,它会起作用吗?或者我是否必须包含f标签库?

jsf facelets prefix xml-namespaces

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

使用Qualifier和InjectionPoint作为@HttpParam在CDI/WELD中实现@RequestParam

玻璃鱼错误

INFO: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context '/NNTPjsf'
INFO: WEB0671: Loading application [NNTPjsf] at [/NNTPjsf]
SEVERE: Exception while loading the app
INFO: only once...
INFO: NNTP.loadMessages...
SEVERE: Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject net.bounceme.dur.nntp.HttpParamProducer.facesContext]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject net.bounceme.dur.nntp.HttpParamProducer.facesContext]
    at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:274)
    at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:243)
    at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:106)
    at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:126)
    at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:345)
    at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:330)
    at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:366) …
Run Code Online (Sandbox Code Playgroud)

java jsf glassfish facelets cdi

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

JSF(查看)+ Spring MVC糟糕的选择?即使在JSF成为官方EE规范之后,任何替代品?

我正在开始一个新的相当大的webapp,我使用Spring MVC完成MVC架构,我真的不想改变它.最重要的是,我正在寻找一种视图技术,最后用JSF关闭,因为JSF/facelets是官方EE规范,这意味着它们将成为未来.优质面孔看起来很有希望实现良好的用户界面.我知道JSF是一个MVC框架,我只想活跃它的视图部分以减少开发时间,同时实现良好灵活的响应式UI

但我在StackOverflow本身上发了几篇文章,禁止使用Spring MVC + JSF.就是这个

这个问题在2011年得到了解答,现在新的Java EE规范也已经发布,并且发生了许多变化.这一点仍然表明我们不应该使用JSF + Spring MVC吗?如果是真的,那么替代品是什么.对我来说一个看起来不错的选择是Thymeleaf,但只有让我感到不安的是忽略官方规范会是个好主意吗?

java jsf facelets spring-mvc thymeleaf

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