这看起来像是一个简单的问题,但也许我错过了一些东西。我正在尝试使用当前登录的用户在搜索过滤器中预填充用户字段。角色过滤器按预期填充,但用户字段默认为空白。我在 bean 中设置了一条日志语句,它验证了 bean 是否被设置。我还在 goToBasicSearch 函数中进行了搜索,它根据当前登录的用户进行搜索。
下拉列表已正确填充,并且选择用户和搜索工作正常。我想知道为什么 UI 没有使用默认值填充该字段。技术栈:Seam 2.3、Jboss 7、JSF 2、Richfaces 4
豆:
@Name( "SearchAction" )
@Scope( ScopeType.CONVERSATION )
public class SearchAction
{
private SearchFilter searchFilter = new SearchFilter;
// other stuff
@Begin(join = false )
public String goToBasicSearch()
{
searchFilter.setRole( Roles.ANY );
searchFilter.setStaff( user.getStaff() );
return SEARCH;
}
XHTML
<!-- normal stuff -->
<h:selectOneMenu required="false" value="#{SearchAction.searchFilter.staff}">
<s:selectItems id="staffField" var="_selection" label="_selection.fullName" value="#{allStaff}" noSelectionLabel=""/>
<f:converter converterId="converter.staff"/>
</h:selectOneMenu>
<h:selectOneMenu id="roleField" required="false" value=#{SearchAction.searchFilter.role}">
<s:convertEnum />
<s:selectItems id="roleField" var="_selection" label="#{_selection.title} value=#{SearchAction.roleList}" noSelectionLabel="" hideNoSelectionLabel="true" itemValue="#{_selection}"
</h:selectOneMenu>
非常感谢