当前位置: 首页 > 知识库问答 >
问题:

Backing Bean方法对输入文本框得值为null

谢俊悟
2023-03-14
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:o="http://openfaces.org/">

<ui:composition
template="/resources/common/templates/rsaMasterTemplate.xhtml">
<ui:define name="content">
    <f:view>
<h:outputScript name="js/security.js" library="common" />
<h:panelGroup>
<table width="50%">
    <tr class="scrollerTable border">
        <td><h:outputLabel styleClass="fieldLabelText"
                value="#{message['application.common.label.searchBy']}" /></td>
        <td class="cellSpacer"></td>
        <td><h:selectOneMenu id="selOneMenu_SearchCriteria"
                styleClass="entryfieldText"
                value="#{urlMaintenanceManagedBean.selectedSearchCriteria}">
                <f:selectItems
                    value="#{urlMaintenanceManagedBean.searchCriteriaList}" />
            </h:selectOneMenu></td>
        <td class="cellSpacer"></td>
        <td><h:inputText id="iptTxt_SearchValue"
                styleClass="entryfieldText" size="30"
                value="#{urlMaintenanceManagedBean.searchValue}"></h:inputText>
        </td>
        <td class="cellSpacer"></td>
        <td><h:commandLink styleClass="buttonOrange">
                <f:ajax event="click"
                    execute="selOneMenu_SearchCriteria iptTxt_SearchValue"
                    render="panGrp_UrlSearchResults"
                    listener="#{urlMaintenanceManagedBean.search}" />
                <span>#{message['application.common.button.search']}</span>
            </h:commandLink></td>
        <td class="cellSpacer"></td>
        <td><h:commandLink styleClass="buttonOrange"
                onclick="clear('iptTxt_SearchValue')">
                <span>#{message['application.common.button.clear']}</span>
            </h:commandLink></td>
    </tr>
</table>
</h:panelGroup>
public void search(AjaxBehaviorEvent event) {

    // TODO Temporary hard coding. To be removed once the value passing to
    // bean gets resolved.
    System.out.println("selectedSearchCriteria= " + selectedSearchCriteria);
    System.out.println("SearchValue= " + searchValue);

    // reset urlList
    if (urlList != null && !urlList.isEmpty()) {
        urlList = null;
    }
    // Call to service layer for search operation starts here
    }
    public String getSelectedSearchCriteria() {
    return selectedSearchCriteria;
}

public void setSelectedSearchCriteria(String selectedSearchCriteria) {
    this.selectedSearchCriteria = selectedSearchCriteria;
}

public String getSearchValue() {
    return searchValue;
}

public void setSearchValue(String searchValue) {
    this.searchValue = searchValue;
}

上面的SOP行为具有getter/setter方法的字段提供了空值,当单击“Search”commandLink时,这些字段针对该字段赋值。

寻找你的建议。

共有1个答案

武嘉祥
2023-03-14

我自己对JSF还是个新手,但考虑到还没有答案,我想为什么不试一试呢。

根据https://stackoverflow.com/a/3681276/2277482,如果您在backing bean中将属性分配给h:inputtext,如果在页面上发生更改,它将在backing bean中更新。

对于H:SelectOneMenu,我找到了https://stackoverflow.com/A/13327653/2277482。因此,如果您想在没有primefaces的情况下实现这个答案,请尝试f:ajax。

我暂时无法测试这一点,所以我只是盲目地给出建议。

我会这样评论的,但我的代表权太低了:(

 类似资料:
  • 本文向大家介绍javascript限制文本框输入值类型的方法,包括了javascript限制文本框输入值类型的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript限制文本框输入值类型的方法。分享给大家供大家参考。具体分析如下: 要求:所有的文本框,只能输入数字和小数点,其他的符号一概不能输入; 重点是我希望在用户输入时就做限制,而不是提交时判断——也就是说如果用户在文本

  • 在angularJs中,我有一个输入文本框,如何设置默认值?我尝试了但失败了。

  • 问题内容: 使用jQuery获取和呈现输入值的方法有哪些? 这是一个: 问题答案:

  • 本文向大家介绍selenium+python 对输入框的输入处理方法,包括了selenium+python 对输入框的输入处理方法的使用技巧和注意事项,需要的朋友参考一下 最近自己在做项目的自动化测试(公司无此要求),在用户管理模块做修改用户信息时,脚本已经跑成功,并且的确做了update操作,但是自己登陆页面检查,信息却没有被修改,再次确定系统该模块的编辑功能可用,脚本如下: 怎么看,都觉得脚本

  • 我正在使用java使用Selenium在2个文本框中输入文本。我可以在第一个文本框中输入文本,但在第二个文本框中,我不断得到元素不可见异常 HTML代码。。 Java代码。。 错误: 组织。openqa。硒。ElementNotVisibleException:元素当前不可见,因此可能无法与命令持续时间或超时交互:19毫秒生成信息:版本:“2.53.1”,版本:“a36b8b1”,时间:“2016

  • 本文向大家介绍javascript文本框内输入文字倒计数的方法,包括了javascript文本框内输入文字倒计数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript文本框内输入文字倒计数的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。