我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用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的页面都会填充这个函数.那可能吗?
谢谢!
我需要将一个Date转换为一个页面中的String(我不想将toStrings的负载添加到我的域模型中,因此不能添加到bean中).
<ice:graphicImage value="bean.image" title="#{bean.date}"/>
Run Code Online (Sandbox Code Playgroud)
上面的代码工作,但以默认格式格式化日期...我想更改格式.
我已经尝试过使用JSTL fmt,但这似乎与Facelets JSF转换为title属性的日期兼容.有没有解决方法(不必使用JSTL)?
谢谢.
我认为这个主题解释了我在寻找什么:
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) 我使用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) 我正在使用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来做到这一点吗?
抱歉有点愚蠢.但我明白(我缺乏知识)如果你想在那个页面上使用RichFaces组件,就不可能转发到另一个页面.
这是我转发到具有RichFaces组件的页面时遇到的一些问题
我不需要转发到具有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报告页面的这些状态
它是标题中的内容,包括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) 我正在尝试使用以下代码获取谷歌地图图像:
<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页面的表.我找到了这段代码:
<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标签库?
玻璃鱼错误
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) 我正在开始一个新的相当大的webapp,我使用Spring MVC完成MVC架构,我真的不想改变它.最重要的是,我正在寻找一种视图技术,最后用JSF关闭,因为JSF/facelets是官方EE规范,这意味着它们将成为未来.优质面孔看起来很有希望实现良好的用户界面.我知道JSF是一个MVC框架,我只想活跃它的视图部分以减少开发时间,同时实现良好灵活的响应式UI
但我在StackOverflow本身上发了几篇文章,禁止使用Spring MVC + JSF.就是这个
这个问题在2011年得到了解答,现在新的Java EE规范也已经发布,并且发生了许多变化.这一点仍然表明我们不应该使用JSF + Spring MVC吗?如果是真的,那么替代品是什么.对我来说一个看起来不错的选择是Thymeleaf,但只有让我感到不安的是忽略官方规范会是个好主意吗?