login.xhtml
Crearemos la pagina login.xhtml que mostrara una campo para ingresar el username y otro para el password, y un botón Login.
Crearemos la pagina dentro de Web Pages
Vista de la pagina
Debemos indicar el paquete donde esta ubicado el archivo messages en <f:loadBundle>
<h:head>
<f:facet name="first">
<f:view locale="#{idiomas.locale}"></f:view>
<f:loadBundle basename="com.javscaz.tallerjsd.properties.messages" var="msg" />
</f:facet>
Codigo completo
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:b="http://bootsfaces.net/ui"
xmlns:p="http://primefaces.org/ui">
<h:head>
<f:facet name="first">
<f:view locale="#{idiomas.locale}"></f:view>
<f:loadBundle basename="com.javscaz.tallerjsd.properties.messages" var="msg" />
</f:facet>
<title>#{msg['application.title']}</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" type="text/css"
href="#{request.contextPath}/resources/bootstrap/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css"
href="#{request.contextPath}/resources/dist/css/AdminLTE.min.css" />
<link rel="stylesheet" type="text/css"
href="#{request.contextPath}/resources/dist/css/skins/skin-blue.min.css" />
<link rel="stylesheet" type="text/css"
href="#{request.contextPath}/resources/bootstrapcdn/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css"
href="#{request.contextPath}/resources/ionicframework/css/ionicons.min.css" />
<h:outputStylesheet library="css" name="bootstrap-reset.css"/>
<h:outputStylesheet library="webjars" name="font-awesome/4.6.3/css/font-awesome-jsf.css" />
<h:outputStylesheet library="css" name="style-responsive.css"/>
<h:outputStylesheet library="css" name="pfcrud.css"/>
<h:outputStylesheet library="css" name="style.css"/>
<style type="text/css">
.ui-growl {
right: 50%;
top: 20%;
}
</style>
</h:head>
<h:body class="hold-transition skin-blue sidebar-mini">
<f:view >
<div class="wrapper">
<!-- Main Header -->
<header class="main-header">
<ui:include src="/pages/top.xhtml"/>
</header>
<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<ui:include src="/pages/left.xhtml"/>
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<p:growl id="growl"/>
<h1>
#{msg['login.title']}
<small>Optional description</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
<li class="active">Here</li>
</ol>
</section>
<!-- Main content -->
<section class="content" >
<!--<h:form id="form" rendered="#{loginController.loggedIn}">-->
<h:form id="form" >
<p:messages id="growl"/>
<div class="row form-body">
<p:growl id="msgs" widgetVar="growl"/>
<div class="form-group row">
<p:outputLabel class="col-xs-2 col-form-label" value="#{msg['login.username']}"/>
<div class="col-xs-4">
<p:inputText value="#{loginController.username}" class="login-input" id="username" placeholder="#{msg['login.email']}"/>
</div>
</div>
<div class="form-group row">
<p:outputLabel value="#{msg['login.password']}" class="col-xs-2 col-form-label"/>
<div class="col-xs-4">
<p:password value="#{loginController.password}" class="login-input" id="password" placeholder="#{msg['login.password']}"/>
</div>
</div>
<div class="form-group row">
<div class="col-xs-4">
<p:commandButton value="#{msg['boton.login']}" class="btnn btnn-primary login-btn"
action="#{loginController.doLogin()}" update=":form:growl"/>
</div>
</div>
</div>
</h:form>
</section><!-- /.content -->
</div><!-- /.content-wrapper -->
<!-- Main Footer -->
<ui:include src="/pages/footer.xhtml"/>
<ui:include src="/pages/rigth.xhtml"/>
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div><!-- ./wrapper -->
<!-- REQUIRED JS SCRIPTS -->
<script type="text/javascript" src="#{request.contextPath}/resources/bootstrap/js/bootstrap.min.js"></script> <!-- Correio -->
<script type="text/javascript" src="#{request.contextPath}/resources/dist/js/app.min.js"></script> <!-- Correio -->
<br />
</f:view>
</h:body>
</html>
Last updated