标签: icefaces

ui:repeat不适用于Map

我有一个Map键/值,我初始化@PostConstruct如下:

Map<String, String> myMap;

@PostConstruct
public void init() {

  myMap=new LinkedHashMap<String, String>();
  myMap.put("myKey","myValue");

}

public Map<String, String> getMyMap() {
    return myMap;
}

public void setMyMap(Map<String, String> myMap) {
    this.myMap = myMap;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试用<ui:repeat>如下所示的迭代迭代这个Map时,我在Map的getter上设置了一个断点,我注意到它没有被调用,所以没有打印出来:

<ice:panelGroup>
    <ui:repeat items="#{myBean.myMap}" var="entry" varStatus="loop">
        <input type="checkbox" name="myCheckBoxes" value="#{entry.value}" />
        <span class="#{fn:contains(entry.value,'g') ? 'bold-style' : ''}">#{entry.key}</span>
    </ui:repeat>
</ice:panelGroup>
Run Code Online (Sandbox Code Playgroud)

但是当替换上面的代码时<c:foreach>,一切正常,并且列表按预期打印,任何想法为什么我会得到这样的行为?

jsf icefaces jsf-2 icefaces-2

22
推荐指数
4
解决办法
2万
查看次数

如何动态创建<f:selectItem>列表?

有没有办法动态创建selectItem列表?我真的不想创建大量的bean代码来让我的列表返回List<SelectItem>.

我试过这个:

<ice:selectManyCheckbox>
    <ui:repeat var="product" value="#{productListingService.list}">
      <f:selectItem itemLabel="#{product.description}" value="#{product.id}"/>
    </ui:repeat>
</ice:selectManyCheckbox>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有任何想法吗?

jsf icefaces

16
推荐指数
1
解决办法
3万
查看次数

java.lang.OutOfMemoryError:Web应用程序使用的PermGen空间

我正在努力解决最近出现的outOfMemory PermGen问题.出现错误时保存的其中一个日志片段:

java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1872)
        at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:720)
        at org.apache.felix.framework.ModuleImpl.access$300(ModuleImpl.java:73)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Run Code Online (Sandbox Code Playgroud)

我增加了最大烫发大小,-XX:MaxPermGen=128m但这只是一个临时解决方案,因为我很确定我们在这里面临一些内存泄漏.我们的应用程序的Web部分部署在jetty(jsf + icefaces)上.单击随机组件会增加使用的内存 - 我正在监视它,jstat -gcold几乎每次命中都会增加3-4kb.我已经添加-XX:+TraceClassLoading到jvm params并且看到很多sun.reflect.GeneratedConstructorAccessor并且sun.reflect.GeneratedMethodAccessor在Web用户界面上有任何操作时被记录.当使用99%的permgen时,我也进行了堆转储.我使用YourKit分析器来分析堆.在类加载器选项卡中,有一些sun.reflect.DelegatingClassLoader行,每个行有1个类.什么可能导致记忆不断增长?任何帮助将非常感激.

提前谢谢,卢卡斯

java jsf icefaces memory-leaks permgen

11
推荐指数
2
解决办法
8531
查看次数

表单组件需要在其祖先中具有UIForm.建议:在<h:form>中包含必要的组件

我在我的Facelet页面上收到以下错误,该页面只包含一个带有两个字段和两个按钮的IceFaces表单:

表单组件需要在其祖先中具有UIForm.建议:在<h:form>中包含必要的组件

这是表格:

<ice:form id="form1" partialSubmit="false">
    <ice:panelLayout id="panelLayout3">
        <ice:graphicImage id="graphicImage1" url="/resources/images/LoginImage.jpg" width="560" />
        <ice:outputLabel for="j_username" id="outputLabel1" value="Username:"/>
        <ice:outputLabel for="j_password" id="outputLabel2" value="Password:"/>
        <ice:inputText binding="#{login.username}" id="j_username" required="true" />
        <ice:inputSecret binding="#{login.password}" id="j_password" required="true" />
        <ice:commandButton  actionListener="#{login.login}" id="loginBtn" value="Login"/>
        <ice:commandButton action="#{login.reset}" id="resetBtn" value="Reset"/>
        <ice:outputText id="errorMessage" />
        <ice:message errorClass="errorMessage" for="j_username" fatalClass="fatalMessage" id="messages1" infoClass="infoMessage" showSummary="false" warnClass="warnMessage"/>
    </ice:panelLayout>
</ice:form>
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

jsf icefaces jsf-2

11
推荐指数
1
解决办法
1万
查看次数

Icesfaces vs Myfaces vs Primefaces

我正在开始一个涉及使用JSF 2.0的新项目.从我最初的阅读开始,该项目的Mojarra和Apache实现涵盖了您将需要的基本组件.

但是我知道用户可以通过面板选项卡,手风琴,滑块等更好的演示来寻求gui ...目前,我还有其他实现,Primefaces,RichFaces和Icefaces.

但我找不到一篇好文章,讨论三者中最好的一篇.

我之前使用过Spring MVC但是我使用JqueryUI来创建这些小部件.既然我是基于组件的框架,我想使用最好的JSF实现.

我想知道诸如性能/互操作性/易用性/支持等指标.

很抱歉,如果我的问题可能含糊不清,但在选择我的JSF供应商实施之前,我想听听意见.

谢谢.

icefaces richfaces myfaces primefaces jsf-2

10
推荐指数
1
解决办法
1万
查看次数

在一个浏览器中使用带有多个选项卡的JSF

默认情况下,JSF似乎非常"有状态".我需要允许人们使用我们的应用程序,多个选项卡在应用程序的不同部分执行许多操作.

如果没有大量的重新设计,我似乎无法找到合适的指令来实现这一目标.

我们目前没有使用ICEfaces,但我刚在ICEfaces文档中找到了这个:

6.5.7.ICEfaces Portlet和并发DOM视图

ICEfaces提供了一个名为Concurrent DOM Views的功能,它控制ICEfaces框架是否支持来自同一浏览器的单个应用程序的多个视图.在portlet容器中运行时,ICEfaces需要将单个门户网站页面上的单独portlet视为不同的视图,因此几乎总是需要(因此最安全)将此参数设置为true.

例6.19.在WEB-INF/web.xml配置文件中启用ICEfaces并发DOM视图功能,以便将同一门户网站页面上的单独portlet视为不同视图

com.icesoft.faces.concurrentDOMViews是的

所以,我想知道这个神话般的声音功能是否可能适用于我现有的h:表格或者它是否只适用于ICEface组件?

任何人都可以提供任何好的建议,让JSF应用程序在多个选项卡中工作?

java jsf icefaces jsf-2

8
推荐指数
2
解决办法
1万
查看次数

JSF中的"for"循环

我只需要for在JSF/ICEFaces中执行一个非常基本的循环,基本上是渲染列号

类似下面的伪代码

for(int i=0; i<max; i++)
{
   <td>#{i}</td>
}
Run Code Online (Sandbox Code Playgroud)

<c:forEach>超过集合标记迭代,但我不想让我的支持bean更复杂返回整数的一个愚蠢的集合.

你知道更短更智能的方式吗?

谢谢

java jsf icefaces jspx

8
推荐指数
2
解决办法
3755
查看次数

Java:如何从JSP JSF页面生成PDF文件?

我需要从JSP JSF页面生成PDF.我在网上搜索过,但是我没有找到任何我应该怎么做的例子.我需要转换整个页面,或者只能转换我在该页面上的图表.

PS我也在使用IceFaces.

java pdf jsf icefaces

7
推荐指数
2
解决办法
2万
查看次数

如何在ICEfaces中覆盖默认文件上传h:消息

我使用ace:fileEntry组件上传文件,成功上传后,我得到的消息是:

'File Entry' uploaded successfully 'filename'.
Run Code Online (Sandbox Code Playgroud)

我想覆盖此消息并显示其他消息(某种解析上传文件的摘要),任何想法如何?

这是我的代码:

<h:form>
        <ace:fileEntry id="fileEntryComp"
               label="File Entry"
               relativePath="uploaded"
               fileEntryListener="#{mybean.uploadFile}"/> 



        <h:commandButton value="Upload Excel File" />
        <h:message for="fileEntryComp" />         

    </h:form>
Run Code Online (Sandbox Code Playgroud)

jsf icefaces jsf-2 icefaces-2

7
推荐指数
2
解决办法
3423
查看次数

访问JSF中的静态属性

我的一个支持bean中有一个静态的选择项列表:

private static List<SelectItem> countries = new ArrayList<SelectItem>();
Run Code Online (Sandbox Code Playgroud)

使用以下getter和setter:

public static List<SelectItem> getCountries()     {
    return countries;
}

public static void setCountries(List<SelectItem> countries) {
    LoadSelectItemsBean.countries = countries;
}
Run Code Online (Sandbox Code Playgroud)

我无法通过我的XHTML页面访问静态列表.我试过的代码如下:

<ace:simpleSelectOneMenu id="countryField"
   value="#{generalCarrierDataViewBean.carrierBean.countryId}">
   <f:selectItems value="#{loadSelectItemsBean.countries}" />
   <ace:ajax />
</ace:simpleSelectOneMenu>
Run Code Online (Sandbox Code Playgroud)

问题在于:

 <f:selectItems value="#{loadSelectItemsBean.countries}" />
Run Code Online (Sandbox Code Playgroud)

结果的例外是:

javax.el.PropertyNotFoundException: /pages/GeneralCarrierData.xhtml @394,64 value="#{loadSelectItemsBean.states}": Property 'states' not found on type com.oag.reference.util.LoadSelectItemsBean
Run Code Online (Sandbox Code Playgroud)

有人可以建议如何从支持bean正确引用静态属性吗?

谢谢

jsf icefaces el

7
推荐指数
1
解决办法
4894
查看次数

标签 统计

icefaces ×10

jsf ×9

jsf-2 ×5

java ×4

icefaces-2 ×2

el ×1

jspx ×1

memory-leaks ×1

myfaces ×1

pdf ×1

permgen ×1

primefaces ×1

richfaces ×1