我<h:selectBooleanCheckbox>在DataTable的facet头中使用a.该<h:column>DataTable的所有行内容都是<h:selectBooleanCheckbox>.行按照我想要的方式完美选择.以下是我使用的代码:
<h:form>
<h:dataTable
value="#{employeeService.employeeList }"
var="empl"
binding="#{employeeService.dataTablebinding }">
......
......
......
<h:column>
<f:facet name="header">
<h:selectBooleanCheckbox id="chkBoxAll" value="#{employeeService.checkedHdr }" valueChangeListener="#{employeeService.checkAll }" onclick="submit()"></h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox id="tableChkBox" value="#{empl.checked }" valueChangeListener="#{employeeService.getCheckChanged }" onclick="submit()"></h:selectBooleanCheckbox>
</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)
这是以下代码ValueChangeListener:
public void checkAll(ValueChangeEvent event){
if(isInvokeApplicationPhase(event)){
Iterator<Employee> empl = employeeList.iterator();
while(empl.hasNext()){
Employee emp = empl.next();
emp.setChecked(checkedHdr);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是isInvokeApplicationPhase我为实现此代码而添加的实用程序(参考BalusC此链接中建议的解决方案:JSF 1.2:valueChangeListener事件未返回新选择的值):
public boolean isInvokeApplicationPhase(FacesEvent event){
if(event.getPhaseId() != PhaseId.INVOKE_APPLICATION){
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
event.queue();
return false;
}
return true; …Run Code Online (Sandbox Code Playgroud) 经历了这些优秀的帖子:
在JavaEE6教程的中途,我仍然有以下问题:
谢谢
我有这个:
<p:treeTable id="#{treeTableId}" value="#{tableBeanRoot}" var="element"
resizableColumns="true"
selection="#{budgetTemplateElementBean.selectedNode}"
selectionMode="single" widgetVar="#{treeTableId}widget">
<f:facet name="header">
</f:facet>
<p:column style="width:150px">
.....
</p:column>
.....
<f:facet name="footer">
<p:commandButton value="#{msg.addChildNode}"
actionListener="#{actionBean.addChildNodeAction}"
process="@this,#{treeTableId}" update="#{treeTableId} :growl" />
<p:commandButton value="#{msg.deleteNode}"
actionListener="#{actionBean.deleteNodeAction}"
process="@this,#{treeTableId}" update="#{treeTableId} :growl" />
</f:facet>
</p:treeTable>
Run Code Online (Sandbox Code Playgroud)
如何在Primefaces treeTable中添加和删除treeNodes?我可以把什么东西放回去?
谢谢
有一个问题,从6小时后处理,但没有解决它.
我正在使用JSF/Tomcat 7/Maven/Java 7开发动态Web项目
每次我在服务器上运行项目时都会得到:
javax.naming.NameNotFoundException: Name [....ProjectManagement/service] is not bound in this Context. Unable to find [de.hhn.team3.artzpraxismanagement.ProjectManagement].
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.catalina.core.DefaultInstanceManager.lookupFieldResource(DefaultInstanceManager.java:580)
at org.apache.catalina.core.DefaultInstanceManager.processAnnotations(DefaultInstanceManager.java:470)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:157)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
at org.apache.myfaces.config.annotation.Tomcat7AnnotationLifecycleProvider.postConstruct(Tomcat7AnnotationLifecycleProvider.java:90)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:213)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:333)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:296)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:169)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65)
at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:123)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:169)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
at org.apache.el.parser.AstValue.getValue(AstValue.java:161)
at org.apache.el.parser.AstEqual.getValue(AstEqual.java:38)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:263)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1089)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:733)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:758)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:758)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1900)
at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:115)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199) …Run Code Online (Sandbox Code Playgroud) 当我尝试在JSF页面中显示Java List<String>国家时,我在JSF页面中遇到了非常奇怪的问题.这是代码:
private List<String> listCountries;
// Get the list with Countries
public List<String> getlistCountries() {
// Generate List of Countries
initlistCountries();
return listCountries;
}
public void initlistCountries(){
listCountries.add("Afghanistan");
listCountries.add("Albania");
listCountries.add("Algeria");
listCountries.add("Andorra");
listCountries.add("Angola");
......
}
Run Code Online (Sandbox Code Playgroud)
这段代码是否正确?我不能使用,@PostConstruct因为我已经使用它了.
加载JSF页面时出现错误:
java.lang.NullPointerException
at com.DX_57.AC_57.AddAccount.initlistCountries(AddAccount.java:344)
at com.DX_57.AC_57.AddAccount.getlistCountries(AddAccount.java:339)
Run Code Online (Sandbox Code Playgroud) 我有一个JSF表:

正如您所看到的,列的名称是基本的html链接.有没有办法删除名称的下划线?还要改变名字的颜色?感谢您的帮助.
<div id="settingsHashMap" style="width:1050px; height:400px; position:absolute; background-color:r; top:20px; left:1px">
<h:form id="form" >
<p:growl id="growl" showDetail="true" sticky="true" />
<!-- The sortable data table -->
<h:dataTable onmouseover="addOnclickToDatatableRows();" id="dataTable" value="#{AccountsController.dataList}" binding="#{table}" var="item">
<!-- Check box -->
<h:column>
<f:facet name="header">
<h:selectBooleanCheckbox value="#{AccountsController.mainSelectAll}" class="checkall" >
<f:ajax listener="#{AccountsController.selectAll}" render="@form" />
</h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox onclick="highlight(this)" value="#{AccountsController.selectedIds[item.userid]}" >
<!-- if the user deselects one row deselect the main checkbox -->
<f:ajax listener="#{AccountsController.deselectMain}" render="@form" />
</h:selectBooleanCheckbox>
<!-- Click on table code -->
<h:outputLink id="lnkHidden" value="AccountProfile.jsf" style="text-decoration:none; color:white;">
<f:param …Run Code Online (Sandbox Code Playgroud) 我有这个图像:
<h:graphicImage library="images" name="lighton.png" height="22" rendered="#{mController.dothat}" />
Run Code Online (Sandbox Code Playgroud)
我需要垂直对齐一个字段.
手动添加(例如通过firebug)align ="absmiddle"到生成的<img/>标签确实有效.然而,将它添加到graphicImage标记,什么都不做.
我有一个简单的jsf 2.1,以前可以使用primefaces 3.4在Java EE 6上正常工作。
当我迁移到glassfish 4.0和primefaces 5.1时,每次在Netbeans上重新部署项目时,都会遇到以下异常:
java.io.NotSerializableException:org.primefaces.model.DefaultStreamedContent
java.io.NotSerializableException:org.primefaces.component.datatable.DataTable
即使抛出此异常,项目也将正确部署并运行!
有什么事吗
我有一个带有一个字段的表单,emai有一个非常简单的验证required = true.现在,当我点击按钮时,它会执行AJAX回调.我想知道无论如何在客户端进行验证而不调用服务器?
<h:form class="lfrm" id="lfrm">
<p:panel id="lpanel" header="Login">
<p:messages id="lmessages" showDetail="true" autoUpdate="true"/>
<h:panelGrid id="lgrid" columns="2" cellpadding="5">
<h:outputText value="Email: *" />
<p:inputText styleClass="email"
id="lemail"
value="#{Registration.user.email}"
required="true" requiredMessage="Email is required">
</p:inputText>
<p:commandButton process="lemail"
value="Sign in"
immediate="true"
validateClient="true"/>
</p:panel>
</h:form>
Run Code Online (Sandbox Code Playgroud) 我有一个输入文本字段如下.
<h:inputText id="number" maxlength="3" value="#{bean.entity.number}" />
Run Code Online (Sandbox Code Playgroud)
我想验证数字是否为1到60,否则显示错误.我怎样才能做到这一点?
jsf ×10
jsf-2 ×5
primefaces ×3
java ×2
cdi ×1
css ×1
ejb ×1
icefaces ×1
icefaces-1.8 ×1
java-ee ×1
javascript ×1
jsf-1.2 ×1
jsf-2.2 ×1
range ×1
tomcat ×1
validation ×1