标签: jsf

p:数据表,选择模式为多个

根据 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)

jsf primefaces jsf-2

0
推荐指数
1
解决办法
4977
查看次数

ExternalContext 的 Request 对象上的 getQueryString 在 WebSphere 上返回 null

我在 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&currency=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)

java websphere jsf query-string

0
推荐指数
1
解决办法
2245
查看次数

使用 &lt;h:commandButton&gt; 打开 Outlook

对应的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 邮箱?

email jsf outlook hyperlink

0
推荐指数
1
解决办法
1821
查看次数

超过 FileSizeMax 时取消 FileUpload

我有一个在 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

0
推荐指数
1
解决办法
2219
查看次数

更新h:form之外的组件 - ComponentNotFoundException

我试图从像这样的窗体内的按钮更新我的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"前面放一个,但这并不能给我任何不同的结果.

我怎么能解决这个问题?

xhtml jsf primefaces

0
推荐指数
1
解决办法
1737
查看次数

使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable

我想使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable.请建议我实现复制和粘贴的可能性.

datatable jsf primefaces

0
推荐指数
1
解决办法
1671
查看次数

PrimeFaces如何更改咆哮的关闭图标颜色

我在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)

css jsf primefaces

0
推荐指数
1
解决办法
1532
查看次数

在ap:inputText中按下Enter时如何调用方法

我有一个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调用获取事件代码?

jsf primefaces

0
推荐指数
1
解决办法
3888
查看次数

可以从验证器类设置xp:control的styleClass吗?

对于表格,我为编辑框设置了一个有效期,例如:

<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:所需的控件并且不通过验证.

任何人都有一个线索如何实现这一目标?

jsf xpages

0
推荐指数
1
解决办法
45
查看次数

有没有一种方法可以在EL中的#{resource}映射中获取JSF bean属性

我试图从这样的资源中获取图像:

<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)

但是它当然不起作用,只是为了向您展示我想要达到的目标。

你能帮我吗?

resources jsf el

0
推荐指数
1
解决办法
58
查看次数