我在jsf页面中使用primefaces惰性数据表,如下所示:
<h:form id="searchForm">
<h:panelGroup id="searchFields">
<h:outputText value="searchField"/>
<p:inputMask
id="txtSearchField"
dir="LTR"
mask="9?999999999999"
maxlength="12"
value="#{myBackBean.searchField}" />
<h:commandButton
id="searchButton"
value="search"
action="{myBackBean.searchAction}" />
</h:panelGroup>
<p:dataTable
id="resultTable"
var="res"
value="#{res.listOfRecords}"
paginator="true" paginatorPosition="bottom" rows="10"
rowsPerPageTemplate="5,10,15"
lazy="true">
<p:column headerText="recordId" sortBy="#{res.recordId}">
<h:outputText value="#{res.recordId}" />
</p:column>
</p:dataTable>
</h:form>
如您所见,dataTable上方有一个搜索面板,其中包含用户可以通过填充它们来缩小结果的参数。支持bean中的每个搜索字段都有一个对应的属性,如下所示。
@Component
@Scope("request")
public class myBackBean {
private String searchField;
private LazyDataModel<RecordsDto> listOfRecords;
@Autowired
MyService myService;
public String getSearchField() {
return searchField;
}
public void setSearchField(String searchField) {
this.searchField = searchField;
}
public LazyDataModel<OperationsDto> getListOfRecords() {
return listOfRecords;
}
public void setListOfRecords(LazyDataModel<RecordsDto> listOfRecords) {
this.listOfRecords = listOfRecords;
}
public void searchAction() {
// doing the search and filling the list
listOfRecords = ...;
return listOfRecords;
}
}
当我按下“searchButton”时,后台bean得到更新,它包含用户输入的“searchField”值。但是,当我尝试使用“recordId”列上的排序箭头对网格进行排序时,我的请求会转到back bean的“getListOfRecords()”方法,但“searchField”值为null。
我如何指示数据表排序操作更新back bean中的搜索字段?
如果在您的情况下可行,请尝试使用会话范围,以便搜索字段值可用。
我通过JSONP获取一个值到我的网页。现在我想用这个值更新一个支持bean属性?如何处理?提前谢谢。 更新:好的,我的问题是有JavaScripts、JSF Ajax调用和Webservices,我必须看看什么时候触发了哪个动作。我想我需要更详细地描述我的处境。 我的支持bean: 我的xhtml页面: 我的Javascript文件: 页面渲染后我有三个阶段。preSaveCaseButton应该
我想知道如何更新PrimeFaces数据表行。这是我的datatable照片,以便更好地了解我: ![1]: http://i.stack.imgur.com/N1jGz.png 我想为每一行选择他各自的状态,然后单击保存状态按钮来保存这些值。 这是我的xhtml页面代码: 提前感谢。
问题内容: 如果我有几个股利: 我动态创建div: 如何才能使它们仅按顺序排序到已加载的div中,而不必重新加载所有div? 我认为我需要在屏幕上构建一个所有div的数据排序值的数组,然后查看新div的位置,但是我不确定这是否是最佳方法。 问题答案: 使用这个功能 您可以在添加新的div后立即调用此函数。 如果要在div中保留javascript事件,请不要像上面的示例一样使用html repla
我正试图编写一个单元测试来测试两个列表的排序。我所做的是调用自定义排序比较器,然后将原始列表与排序列表进行比较。然后,我使用assertEquals来测试排序的列表和原始列表是否匹配。 假设我有一个简单的模型...病人。 控制台以相同的顺序输出这些列表,但assertEquals返回false。我甚至尝试以相同的顺序创建两个完全相同的列表,并尝试assertEquals,但它仍然返回false。
行为如下: 当接收到新请求时,将对其进行处理,控制器将请求发送到外部设备并等待其应答。 此应答由接收。因此,当答案到达时,接收到的信息将保存在数据库中,并向发送一个信号以唤醒它。 当这个控制器被唤醒并试图从数据库中检索更新的信息时,我的问题就来了。这些信息不是刚刚存储的信息,而是以前存储的信息。 我已经检查了数据是否被正确地存储,它是正确的。在解锁ClientController之前,新数据在数据
属性操作 HTML 属性与 DOM 属性的对应 每个 HTML 属性都会对应相应的 DOM 对象属性。 <div> <label for="username">User Name: </label> <input type="input" name="username" class="text" value=""> </div> input.id; // 'username