【发布时间】:2018-01-05 03:39:43
【问题描述】:
我正在尝试使用 JSF 创建一个包含用户名(显示)、角色(隐藏)及其密码(隐藏)的登录表单。
首先,用户键入他/她的用户名,然后单击“验证”按钮。如果用户名存在,则页面必须显示角色<h:SelectOneMenu> 和用户名角色、密码输入并隐藏“验证”按钮。
角色和密码输入默认通过 CSS 隐藏:
<body>
<div class="container">
<h:form styleClass="form-signin">
<h2 class="form-signin-heading">SISE<br><small>Inicio de Sesión</small></h2>
<label for="inputEmail" class="sr-only">Nombre de Usuario</label>
<input type="text" id="inputEmail" class="form-control" placeholder="Nombre de usuario" required autofocus>
<br>
<h:commandButton styleClass="btn btn-lg btn-primary btn-block" value="Validar" action="#{beanInicioSesion.buscarUsuarioDB}" />
<h:selectOneMenu styleClass="form-control hide">
<f:selectItem itemLabel="Something" itemValue="Something"></f:selectItem>
</h:selectOneMenu>
<label for="inputPassword" class="sr-only">Contraseña</label>
<input type="password" id="inputPassword" class="form-control hide" placeholder="Contraseña" required>
<br>
<h:commandButton styleClass="btn btn-lg btn-primary btn-block hide" value="Iniciar sesión" />
</h:form>
</div>
</body>
这是我在托管用户 Sing-in bean 中的内容:
public String buscarUsuarioDB() throws SISE_Exceptions, SQLException {
int usuarioValidado = 0; //validatedUser
UsuarioDB usrDB = new UsuarioDB();
try {
usuarioValidado = usrDB.consultarUsuario(this.getNombreUsuario());
if (usuarioValidado == 0) {
setMensaje("Usuario Invalido");
} else {
setMensaje("Usuario Valido");
//Valid user, then show/display the <h:selectOneMenu> and password input.
}
} catch (Exception e) {
// TODO: Add catch code
e.printStackTrace();
}
return "";
}
所以问题是,如何从我的 buscarUsuarioDB() 方法中选择 HTML 元素,以便将它们设置为在 JSP 中显示/隐藏?
【问题讨论】:
-
你需要一些 Ajax 来做这个 username.exists-check live
标签: javascript html jsf