小编Shi*_*wan的帖子

如何在h:inputText中将参数传递给f:ajax?f:param不起作用

我需要在我的ajax请求中将参数传递给服务器.请参阅下面的代码.范围:查看范围

没有f:param

<p:column width="40">
    <h:inputText id="originalCostInputTxt" value="#{articlePromo.costoBruto}" 
        <f:ajax event="change"
            execute="@this" 
            listener="#{promotionDetailManagedBean.onCostoBrutoChange}">
        </f:ajax>
    </h:inputText>
</p:column>
Run Code Online (Sandbox Code Playgroud)

管理Bean

public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
    createCostoBrutoOptions(promoArticlesList);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,会调用onCostoBrutoChange()方法.但是,当我包含f:param时,它不会被调用.请参阅下面的代码.

用f:param

<p:column width="40">
    <h:inputText id="originalCostInputTxt" value="#{articlePromo.costoBruto}" 
        <f:ajax event="change"
            execute="@this" 
            listener="#{promotionDetailManagedBean.onCostoBrutoChange}">
         <f:param value="#{articlePromo.promocionArticuloId}" name="myId"/> 
        </f:ajax>
    </h:inputText>
</p:column>
Run Code Online (Sandbox Code Playgroud)

管理Bean

public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
    createCostoBrutoOptions(promoArticlesList);
    String id = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("myId");
}
Run Code Online (Sandbox Code Playgroud)

无法识别此代码中的错误.请指导.

谢谢,Shikha

ajax jsf input parameter-passing jsf-2

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

动态地将一行添加到primefaces dataTable

我需要在点击按钮时添加一行到我的数据表 - " 添加员工 ".

数据表显示与bean中固定的Employees列表对应的记录.

我正在做的是,点击" 添加员工 "按钮,我将一个空的员工记录添加到empList.

有没有更好的方法来做到这一点?

谢谢.

jsf primefaces

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

tabview的Active Index未自动更新

Active Index未自动更新.通过将tabView放在可以使用的表单上来回顾一些帖子.或者通过<p:ajax event="tabChange"/>在tabview中包含它是有效的.但似乎没有任何效果

XHTML

示例1:自动更新

    <p:tabView id="categoryTabView" var="promoArticle" value="#{promotionDetailBean.artDTOs}"  activeIndex="#{promotionDetailBean.activeTabIndex}">
            <p:tab id="categoriesTab" title="#{promoArticle.categoryName}">
                <p:dataTable id="promotionDetail_dataTable" var="articlePromo" value="#{promoArticle.artVO}" selection="#{promotionDetailBean.selectedArt}" rowIndexVar="rowIndex">
                    <p:column id="select" selectionMode="multiple" />

                    <p:column id="barCode">
                        <h:inputText id="barCodeInputTxt" value="#{articlePromo.barCode}"
                        styleClass="inputTextStyle" onchange="onSuggestedValueChange('categoryTabView',#{promotionDetailBean.activeTabIndex}, 'promotionDetail_dataTable',#{rowIndex},'originalCostInputTxt')" />
                    </p:column>
                </p:dataTable>
            </p:tab>
        </p:tabView>
Run Code Online (Sandbox Code Playgroud)

示例2:更新tabChange事件

  <h:form id="form">
    <p:growl id="growlm" showDetail="true" />  

            <p:tabView id="categoryTabView" var="promoArticle" value="#{promotionDetailBean.artDTOs}"  >
               <p:ajax event="tabChange" listener="#{promotionDetailBean.tabChanged}"  update=":growlm" />
                    <p:tab id="categoriesTab" title="#{promoArticle.categoryName}">
                        <p:dataTable id="promotionDetail_dataTable" var="articlePromo" value="#{promoArticle.artVO}" selection="#{promotionDetailBean.selectedArt}" rowIndexVar="rowIndex">
                            <p:column id="select" selectionMode="multiple" />

                            <p:column id="barCode">
                                <h:inputText id="barCodeInputTxt" value="#{articlePromo.barCode}"
                                styleClass="inputTextStyle" onchange="onSuggestedValueChange('categoryTabView',#{promotionDetailBean.activeTabIndex}, 'promotionDetail_dataTable',#{rowIndex},'originalCostInputTxt')" />
                            </p:column>
                        </p:dataTable>
                    </p:tab> …
Run Code Online (Sandbox Code Playgroud)

primefaces tabview

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

从给定的日期范围列表中查找所有重叠的日期范围

我有一个BookingDateRange列表,其中BookingDateRange是:

    public class BookingDateRange {
        private Date fromDate;
        private Date toDate;

        //getters & setters of properties
   }
Run Code Online (Sandbox Code Playgroud)

需求:

  1. 我需要查找在DateDate列表中是否有任何日期重复说dateRangeList
  2. 如果是,找到所有重叠的日期范围对,比如说List of String说overlapDatePairs

例1:

输入1:

dateRangeList [0] = 2012年12月23日至2012年12月27日

dateRangeList [1] = 2012年12月14日 - 2012年12月25日

dateRangeList [2] = 2012年1月1日 - 2012年1月23日

输出1:

isOverlappingDates = true

overlapDatePairs = [0_1]

例2:

输入2:

dateRangeList [0] = 2012年12月23日至2012年12月27日

dateRangeList [1] = 2012年1月1日 - 2012年1月23日

输出2:

isOverlappingDates = false

overlapDatePairs = []

我的解决方案

/**
 * Checks if any of the dates overlap.
 *
 * @param …
Run Code Online (Sandbox Code Playgroud)

java date

6
推荐指数
1
解决办法
9634
查看次数

RowSelect事件p:dataTable

需要捕获具有基于复选框的行选择的dataTable的rowSelect事件.代码如下:

<p:ajax event="rowSelect" listener="#{articleBean.onRowSelect}"
                    oncomplete="articleBean.onSelection" />
<p:ajax event="rowUnselect" listener="#{articleBean.onRowUnselect}"
                    oncomplete="articleBean.onSelection" />
<p:column id="name" headerText="Select" selectionMode="multiple"
                    style="width:18px" />
Run Code Online (Sandbox Code Playgroud)

我无法理解这种行为.当我第一次单击复选框时,将调用方法"onRowSelect".当我取消选择时,"onRowUnselect"不会被调用.而且,"onRowSelect"方法只为网格调用一次,如果我单击任何其他复选框,则事件不会被触发.我错过了什么吗?无法理解这种行为.

jsf primefaces

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

JSF中的范围2

我有一个CRUD应用程序..在数据的提取位置,显示n编辑n存储回db.页面之间还有顺序访问,第二页上需要输入第一页上输入的信息,依此类推.什么是最好的范围和原因?

何时使用哪个范围?每个范围的生命周期是什么.

另外,我找不到任何关于范围的好教程.如果您知道相同的情况,请指导.

谢谢,Shikha

jsf-2

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

数据表中的列冻结或固定列

是否可以冻结Primefaces数据表的前3列?

我正在使用Primefaces 3.1

primefaces

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

Primefaces日历组件和日期转换

我正在使用primefaces的日历组件.我在VO中有一个相应的字符串.在保存数据库时,我需要将字符串转换为java.sql.date.

xhtml:

<p:calendar value="#{articlePromo.startDate}"
    id="vendorStartDateInputTxt" pattern="dd/MM/yyyy" mode="popup" showOn="button">
    <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
</p:calendar>
Run Code Online (Sandbox Code Playgroud)

startDate(String)的值为:Sat Apr 21 05:30:00 IST 2012

Java方法获取sql Date

public static Date getSQLDate(String strDate) {
    java.sql.Date sqlDate = null;
    try {
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        java.util.Date dt = formatter.parse(strDate);
        sqlDate = new java.sql.Date(dt.getTime());
    } catch (Exception e) {
        e.printStackTrace();
    }

    return sqlDate;
}
Run Code Online (Sandbox Code Playgroud)

在转换日历的java.util.date时,我使用了模式dd/MM/yyyy.但它转换成的日期是:2012年4月21日星期六05:30:00.

  1. 使用上面写的f:convertDateTime标记有什么不对.
  2. 如果没有,我该如何将此字符串转换为sql日期.无法理解应该给出什么格式.

谢谢,Shikha

primefaces jsf-2

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

数据表上的条件分页

我需要对数据表进行条件分页,也就是说,只有当记录数>> 5时才需要添加分页.

原因是当分页包含在数据表中时,它占据屏幕上一行的空间.在最大的情况下,行数仅为5.因此,目的是为这些大多数情况节省屏幕空间.

primefaces

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

垃圾收集:是否收集对象

可能重复:
将Java对象设置为null是否会再执行任何操作?

我在一个方法中一次又一次地使用相同的变量并且多次将它引用到一个新对象.从垃圾收集方面来看,它是一个很好的做法,在使它引用一个新对象之前使其无效.

例:

StopWatch watch = new StopWatch();
watch.start();
//some code
watch.stop();
//some code
watch = null;
watch = new StopWatch();
watch.start();
//some code
watch.stop();
//some code
Run Code Online (Sandbox Code Playgroud)

在这种情况下,不确定是否使其无效会对GC产生影响.请指导.

谢谢!

java garbage-collection

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

如何使JobDetailBean非并发运行?

我正在使用Quartz Scheduler运行一些计划的作业。我的应用程序中的所有作业都是JobDetailBean作业。

我知道使用MethodInvokingJobDetailFactoryBean,我们可以使作业像这样并发:

<property name="concurrent"><value>false</value></property>
Run Code Online (Sandbox Code Playgroud)

我想知道如何使JobDetailBean作业非并行。默认情况下,JobDetailBean作业并发运行。

要求是:jobA需要每5分钟运行一次,但前提是前一个实例已经完成。

谢谢,

什卡

spring quartz-scheduler

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