根据 primefaces 文档,选择应该是一个数组。在下面的代码中 bean.selectedUsers 被定义为“HasUsersVO[] selectedUsers”,但数据表的值为 List。当我在数据表填满后单击“确定”按钮时,我收到粘贴在底部的强制转换错误。
<p:dataTable id="userListTable" value="#{bean.peopleVOList}"
var="user" rowClasses="odd even" selection="#{bean.selectedUsers}" rowKey="#{user.userGuid}"
<p:column selectionMode="multiple" style="width:18px">
</p:column>
.....
.....
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
22:59:16,962 INFO [class com.zreflect.emyed.managedbean.circle.CircleController] (http--127.0.0.1-8080-3) *******************Outside getUsersList********************
22:59:38,943 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http--127.0.0.1-8080-3) [Lcom.user.PeopleVO; cannot be cast to java.util.Collection: java.lang.ClassCastException: [Lcom.user.PeopleVO; cannot be cast to java.util.Collection
at org.primefaces.component.datatable.DataTable.getRowData(DataTable.java:835) [primefaces-3.3.1.jar:]
at org.primefaces.component.datatable.DataHelper.decodeMultipleSelection(DataHelper.java:262) [primefaces-3.3.1.jar:]
at org.primefaces.component.datatable.DataHelper.decodeSelection(DataHelper.java:240) [primefaces-3.3.1.jar:]
at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:72) [primefaces-3.3.1.jar:]
Run Code Online (Sandbox Code Playgroud) 我在 WebSphere 上使用 JSF 1.1 (MyFaces 1.1.8) 时遇到问题。在 Tomcat 5.5 上部署我的应用程序时,此行为不适用并且一切正常。
当我尝试从 Ogone(支付网关)发回的 URL 中读取参数,再次加入我的 JSF 会话(会话仍然存在)时,QueryString 无法通过
final HttpServletRequest request = (HttpServletRequest)FacesContext
.getCurrentInstance().getExternalContext().getRequest();
String qs = request.getQueryString(); // null on WebSphere, filled on Tomcat
Run Code Online (Sandbox Code Playgroud)
为了更完整一点,查询字符串看起来像这样:
http://100.100.100.100:9080/my_app_context/pages/screen7.jsf?orderID=4208013442596271¤cy=EUR&amount=60&PM=iDEAL&ACCEPTANCE=0000000000&STATUS=9&CARDNO=11-XXXX-11&ED=&CN=K%C3%A9m+Birdy&TRXDATE=08%2F06%2F12&PAYID=15879916&NCERROR=0&BRAND=iDEAL&COMPLUS=personID%3D01%26subscriptionID%3D02&IP=100.100.100.100&SHASIGN=9642468EE016BD49787B62EA7231124B3C24F9BBFC5B3B3B4D9E97D678979E57E5EED9B47D611441A6FCA2EB1D2DB87348C8111ACFF366A4E244106CCCFAFDA5
Run Code Online (Sandbox Code Playgroud)
我正在考虑一些可能会阻止容器正确处理外部请求的 WebSphere webcontainer 设置。或者这里可能存在一些类加载问题,但我一直无法找到它。
WebSphere 上的堆栈跟踪是这样的:
12-08-07 08:02:26 ERROR -
java.lang.NullPointerException
at ... own code trying to getQueryString()...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:459)
at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:85)
at org.apache.myfaces.custom.security.SecurityContextPropertyResolver.getValue(SecurityContextPropertyResolver.java:101)
at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:539)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:386)
at javax.faces.component.UIOutput.getValue(UIOutput.java:118)
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:267) …Run Code Online (Sandbox Code Playgroud) 对应的JSF代码是什么
<a href="mailto:me@domain.com?subject=Sample subject&body=test&cc=cc@domain.com">Send mail</a>
Run Code Online (Sandbox Code Playgroud)
使用预填充的邮件模板向用户打开 Outlook 邮箱?
我有一个在 JBoss 6.1 中运行的 JSF 应用程序,它使用内部的 Tomcat Servlet 容器。
我已经实现了使用 apache commons 文件上传的上传。我想防止上传过大的文件,并
fileSizeMax在类中将该属性设置为 10MB FileUploadBase。它有效,文件上传会FileSizeLimitExceededException为所有大于 10MB的文件抛出一个。此异常会在不到一秒的时间内引发。但主要问题是,整个文件将通过网络传输。我通过检查网络流量发现了这一点。之后重定向到错误页面完成。
如何在超过最大大小时中断文件传输而不传输整个文件?我假设由于 web 表单属性,文件将在多个包中传输enctype
="multipart/form-data"。
java jsf file-upload apache-commons apache-commons-fileupload
我试图从像这样的窗体内的按钮更新我的xhtml中的元素"entryDiv":
<div id="entryDiv">
<div>
<h:form id="myForm">
<c:forEach items="#{foodPlanManagementBean.loadRestaurantsHistory()}" var="restaurantHistoryEntry">
<p:commandButton value="MyName" update="entryDiv"/>
</c:forEach>
</h:form>
</div>
Some more unrelated elements here...
</div>
Run Code Online (Sandbox Code Playgroud)
但是,这样我剩下的就是ComponentFoundException,告诉我组件无法找到:
Cannot find component for expression "entryDiv" referenced from "form:myForm:j_idt25".
Run Code Online (Sandbox Code Playgroud)
我已经阅读了一些关于SO的内容,我找到了一个解决方案,建议:在"entryDiv"前面放一个,但这并不能给我任何不同的结果.
我怎么能解决这个问题?
我想使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable.请建议我实现复制和粘贴的可能性.
我在PrimeFaces上工作,并且试图编辑组件的CSS属性。在咆哮时,我试图更改关闭图标的颜色,但我做不到。我尝试了很多,但仍然不知道。
您可以在右上角看到它的背景色为黄色(我将其设置为黄色,但无法更改图标颜色)。它总是那么蓝。这是我关于咆哮的代码;
.ui-growl{
position:fixed;
top:20%;
left:38%;
width: 23%;
}
.ui-growl .ui-state-highlight{
background: #d2524f;
border: #d2524f;
}
.ui-growl-message{
float: left;
font-size: 15px;
margin: 2% 0 0 22%;
}
.ui-growl .ui-growl-icon-close{
background-color:yellow;
}
Run Code Online (Sandbox Code Playgroud) 我有一个JSF ajax keydown事件链接到备用bean中的事件侦听器。
JSF文件中的代码如下。
<p:inputText value="#{someBean.value}>
<p:ajax event="keydown" listener="#{someBean.keyDownEvent}" />
</p:inputText>
Run Code Online (Sandbox Code Playgroud)
我想获取“输入”按钮事件代码。当我单击Enter时,我需要在服务器端执行一些特定的事件。如何使用ajax调用获取事件代码?
对于表格,我为编辑框设置了一个有效期,例如:
<xp:inputText
id="inpRiskFactors"
styleClass="inputEscalation"
value="#{matterBean.matter.escRiskFactors}"
validator="#{matterValidators.valEscRiskFactors}"...
Run Code Online (Sandbox Code Playgroud)
以下是我的验证方法的片段:
public void valEscRiskFactors(FacesContext facesContext, UIComponent component, Object value) {
utils.printToConsole(this.getClass().getSimpleName().toString() + " - valEscRiskFactors(...), value = " + value.toString());
String msg = null;
if (value.toString().replaceAll("\\s+","").equals("")){
msg = matterProp.getProperty("msg_valid_esc_risk_factors");
FacesMessage message = new FacesMessage(msg);
throw new ValidatorException(message);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以从此方法更改/设置调用组件(UIComponent组件)的styleclass属性?
对于用户来说,最好在xp上应用一些CSS:所需的控件并且不通过验证.
任何人都有一个线索如何实现这一目标?
我试图从这样的资源中获取图像:
<img src="#{resource['img/bla.svg']}"/>
Run Code Online (Sandbox Code Playgroud)
像这样工作
但是现在我想对此文件进行一般化,因此它将来自这样的java类:
LogoHandler.getLogo(String type)
Run Code Online (Sandbox Code Playgroud)
我试图像这样将它们放在一起:
<img src="#{resource["#{logoHandler.getLogo("A1")}"]}"/>
Run Code Online (Sandbox Code Playgroud)
但是它当然不起作用,只是为了向您展示我想要达到的目标。
你能帮我吗?