我正在使用 jsf1.2 进行接缝工作。
一切对我来说都很好,除了搜索操作。谁能建议我以正确的方式走?
在这里,我如何拥有我的表格:
<h:form class="input-list" id="searchUser" style="width:100%;"
name="searchUser">
<div class="edit-label">FIRST NAME :</div>
<h:inputText tabindex="1" id="firstName" type="text" class="miniusername clp"
value="#{userListAction.firstName}" required="true">
<f:validateLength minimum="3" maximum="20" />
</h:inputText>
<h:commandButton value="Search" tabindex="2" style="margin-left: 5px"
action="#{userListAction.retrieveName}" class="usersearch">
</h:commandButton>
</h:form>
我的界面:
@Local
public interface UserListAction extends Serializable {
public List<User> retrieveCustomers();
public List<User> retrieveEmployees();
public List<User> getUsersList();
public CLRPUser getLoginUser();
public List<User> retrieveName();
@WebRemote
public String deleteById(Integer userId);
@WebRemote
public CLRPUser getUserById(Integer userId);
public UserTypeEnum getUserType();
public void setUserType(UserTypeEnum userType);
public void setFirstName(String firstName);
public String getFirstName();
public CLRPUser getCurrentUser();
public void setCurrentUser(CLRPUser currentUser);
}
实现接口的动作类:
@Name("userListAction")
@Stateless
@AutoCreate
public class UserListActionImpl implements UserListAction {
@In
protected UserService userService;
@Out(value = "userType", scope = ScopeType.CONVERSATION, required = false)
private UserTypeEnum userType;
@In
private LoggedInUser loggedInUser;
@Out(value = "currentUser", scope = ScopeType.CONVERSATION, required = false)
@In(value = "currentUser", scope = ScopeType.CONVERSATION, required = false)
private CLRPUser currentUser;
@In(value = "firstName", scope = ScopeType.CONVERSATION, required = false)
private String firstName;
/**
*
*/
private static final long serialVersionUID = 8649412602585430272L;
/*
* (non-Javadoc)
*
* @see com.ermms.clrp.user.UserAction#getUsersList()
*/
public List<User> retrieveName() {
System.out.print("FirstName is :" + firstName);
return userService.getAllUsers(firstName);
}
public UserTypeEnum getUserType() {
return this.userType;
}
public void setUserType(UserTypeEnum userType) {
this.userType = userType;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
@Override
public CLRPUser getCurrentUser() {
// TODO Auto-generated method stub
return null;
}
@Override
public void setCurrentUser(CLRPUser currentUser) {
// TODO Auto-generated method stub
}
}
控制台说名字是:null。
我尝试了更多次,但对此我失去了理智。请给我建议。