У меня есть веб-приложение, которое должно реализовать логин. пользователь вводит имя пользователя и пароль после аутентификации пользователя, должен перенаправлять на страницу, на которой у них есть привилегии, страницы отличаются от пользователя к пользователю. Иногда 2 или более пользователей могут получать одну и ту же страницу, но доступные данные должны отличаться для этого. У меня есть pass users ID (divId) для других bean-фановУправление сеансом с параметрированием/p: button/p: commandButton
сейчас я пробовал параметр тегов URL, помеченный URL и dirrect на страницу успешно, но Я не могу использовать переменную bean.
Истировано это с помощью кнопки p: Button, тогда входы текстового ввода не будут доступны для bean-класса для выполнения метода при нажатии кнопки.
код XHTML -
<h:body>
<p:growl id="growl" showDetail="true" life="3000" />
<p:dialog id="dialog" header="Login" widgetVar="dlg" visible="true" closable="false" >
<h:form id="form">
<h:panelGrid columns="2">
<h:outputLabel for="username" value="Username: " />
<p:inputText id="username" value="#{loginBean.username}"
required="true" requiredMessage="Enter Username"/>
<h:outputLabel for="password" value="Password: " />
<p:password id="password" value="#{loginBean.password}"
required="true" requiredMessage="Enter Password"/>
</h:panelGrid>
<p:commandButton id="LoggingButton" value="Login" action="#{loginBean.doLogin()}"
update=":growl" oncomplete="handleLoginRequest(xhr, status, args),">
</p:commandButton>
</h:form>
</p:dialog>
</h:body>
loginbean-
public class LoginBean{
private String username;
private String password;
private int divisionId;
/**
* Creates a new instance of loginBean
*/
public LoginBean() {
}
public String doLogin() {
DbUser du = new DbUser();
divisionId = du.ValidateUser(username, password);
if(divisionId==0)
addMessage("Invalied username or password", false);
else{
if(divisionId==1){
// return "superuser.xhtml?faces-redirect=true";
return "superuser.xhtml?test="+divisionId+"faces-redirect=true";
//superAdmin
}
else if(divisionId==2||divisionId==3){
// return "engadmin_create_div.xhtml?faces-redirect=true";
return "engadmin_create_div.xhtml?test="+divisionId+"faces-redirect=true";
//ENG/IT ADMIN
}
else{
// return "viewonly_user.xhtml?faces-redirect=true";
return "viewonly_user.xhtml?test="+divisionId+"faces-redirect=true";
//View only users
}
}
return null;
}
Ваш вопрос: текстовое поле не может попасть в фасоли? –
Я получаю значения текстового поля в bean при использовании commandButton. Когда я использую Button, этого не произойдет. – smk
Вы используете кнопку для передачи параметра на другую страницу? –