请帮我找到解决方案.
这是xhtml代码:
<p:selectOneMenu value="#{activteBean.act.activiteFamille}"
converter="familleAct"
var="f" required="Une famille est obligatoire" >
<f:selectItems value="#{activteBean.actFamList}" var="famille" itemLabel="# {famille.dsgFam}" itemValue="#{famille}"/>
<p:column>#{f.refFam}</p:column>
<p:column>#{f.dsgFam}</p:column>
</p:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
这是我的转换器:
@FacesConverter(forClass=ActiviteFamille.class,value="familleAct" )
public class ActiviteFamilleConverter implements Converter {
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String code) {
if (code.trim().equals("")) {
return null;
} else {
ActiviteFamilleDao actFamDao = new ActiviteFamilleDao();
List<ActiviteFamille> actFamList = actFamDao.findAll();
for (ActiviteFamille af : actFamList) {
if (af.getRefFam().equals(code)) {
return af;
}
}
}
return null;
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的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) 我必须将我的dataTable转换为惰性dataTable。我该怎么做?这是我的示例代码:
IndexBean.java
@Name("indexBean")
public class IndexBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
UserService userService;
private List<User> userList;
@Inject
MessageService messageService;
private List<Message> messageList;
private Integer dataTableRendered;
public void getAllUser() {
setDataTableRendered(1);
userList = new ArrayList<User>();
userList = userService.getAllUser();
if (userList.size() > 0) {
addMessageSuccess("Success", "Success");
} else {
addMessageError("Failure", "Failure!");
}
}
public void getAllMessages() {
setDataTableRendered(2);
messageList = new ArrayList<Message>();
messageList = messageService.getAllMessages();
if (messageList.size() > 0) {
addMessageSuccess("Success", "Success");
} else {
addMessageError("Failure", …
Run Code Online (Sandbox Code Playgroud) 当我没有在 primefaces 数据表中使用过滤器并尝试选择行时,例如按编辑它运行良好并获取所选行。但是当我使用 primefaces 过滤器然后选择过滤后的行然后编辑时,我得到了 org.primefaces.model。 SelectableDataModel 启用选择时出现异常。
我知道这意味着我有一个空行键,但我不知道为什么。我使用有效的行键(id)数据表的主键,当我使用调试时,我发现它两次获得 id失败的情况,第一次得到正确的过滤id,第二次得到空id。我的问题是为什么它两次获取 rowkey id,第二次获取 null 并导致异常
<h:body>
<h:form prependId="false" id="growlForm">
<p:growl id="growl" showDetail="false" />
</h:form>
<h:form id="dataForm">
<p:panel id="ingerdientsTable">
<f:facet name="header">
<h:outputText value="Standard Food List" />
</f:facet>
<p:dataTable id="ingedientsTable" widgetVar="ingedientsTable" var="ingerdients" resizableColumns="true"
selectionMode="single" selection="#{mealBean.selectedStandardIngerdients}"
rowKey="#{ingerdients.getId()}" value="#{mealBean.allIngerdients}" rowsPerPageTemplate="5,10,25,50" rows="20"
paginator="true" style="padding-top:10px;padding-bottom:10px" tableStyle="table-layout: auto"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} ">
<p:column headerText="Food Type" filterBy="#{ingerdients.name}"><h:outputText value="#{ingerdients.name}" /></p:column>
<p:column headerText="Protein(gm)" filterBy="#{ingerdients.containedProtiens}"><h:outputText value="#{ingerdients.containedProtiens}" /></p:column>
<p:column headerText="Carbs(gm)" filterBy="#{ingerdients.containedCarbs}"><h:outputText value="#{ingerdients.containedCarbs}" /></p:column>
<p:column headerText="Fats(gm)" filterBy="#{ingerdients.containedFats}"><h:outputText value="#{ingerdients.containedFats}" /></p:column>
<p:column …
Run Code Online (Sandbox Code Playgroud) 当我尝试使用 primeFaces toggleSwitch 时,它显示如下错误
标签库支持命名空间:http ://primefaces.org/ui,但没有为名称定义标签:toggleSwitch
请为toggleSwitch推荐正确的库
我需要从当前日期禁用所有过去的日期,并且仅使用<p:calendar>
Primefaces中的当前日期中的三个即将到来的日期.这该怎么做?