jsf spring
程序员文章站
2022-07-15 16:43:05
...
login.java
public class Login { private String name; private String password; private LoginService loginService; private String errMessage; private List<User> lstUser; private List<SelectItem> lstDepartments; private HtmlInputSecret inputPassword; private HtmlDataTable dataTable; private HtmlSelectOneMenu selectOneMenu; public Login() { name = null; password = null; errMessage = null; lstUser = null; } public String login() { lstUser = null; List<User> list = new ArrayList<User>(); list = loginService.login(name, password); if (list.size() != 0) { errMessage = null; return "success"; } else { errMessage = "wrong name or password"; return "failure"; } } // * AJAX*// public void view() { lstDepartments = new ArrayList<SelectItem>(); lstUser = loginService.getAllAssociates(); // get all departments for (String str : new String[] { "GE", "TEST", "INTEL", "MOTO" }) { lstDepartments.add(new SelectItem(str, str)); } } // *ActionListener*// public void changePassword(ActionEvent e) { inputPassword.processValidators(FacesContext.getCurrentInstance()); inputPassword.processUpdates(FacesContext.getCurrentInstance()); loginService.changePassword(name, password); } // *validation*// public void validate(FacesContext context, UIComponent component, Object obj) { String str = (String) obj; if (str.length() < 2 || str.length() > 25) { FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_ERROR, "", "characters' lengh must greater than 1 and less than 25"); throw new ValidatorException(message); } } // *valueChangeListener*// public void selectValueChange(ValueChangeEvent e) { // User user = (User) dataTable.get; // user.getAddress(); HtmlSelectOneMenu selectOneMenu = (HtmlSelectOneMenu) dataTable .getChildren().get(3).getChildren().get(0); loginService.changeDepartment((String) selectOneMenu.getAttributes() .get("value"), dataTable.getRowIndex() + 1); } // *file upload*// public void uploadListener(UploadEvent event) { try { UploadItem item = event.getUploadItem(); String fileName = item.getFileName(); File file = new File( "D:\\Project\\newWorkspace\\jsf\\WebContent\\UploadFile\\" + fileName.substring(fileName.lastIndexOf("\\") + 1)); FileInputStream fis = new FileInputStream(item.getFile()); FileOutputStream out = new FileOutputStream(file); int bytes = 0; byte[] bteFile = new byte[1024]; while ((bytes = fis.read(bteFile)) != -1) { out.write(bteFile, 0, bytes); } System.out.println("文件上传成功!" + file.toString()); } catch (Exception e) { System.out.println("文件上传失败!"); } } }
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>login</title> </head> <body> <f:view> <h:form id="test"> <h:panelGroup layout="block" style="text-align:center;padding-top:100px;width:100%"> <h:panelGroup layout="block" style="padding-left:165px;width:400px"> <h:outputText value="name:" style="font-size: 20px;font-family: Arial;padding-right:35px"></h:outputText> <span><h:inputText id="txtName" value="#{loginbean.name}" required="true" validator="#{loginbean.validate}"> </h:inputText></span> <span><h:message for="txtName" style="float:right;color:red"></h:message></span> </h:panelGroup> <br> <h:panelGroup layout="block" style="padding-left:165px;width:400px"> <h:outputText value="password:" style="font-size: 20px;font-family: Arial;"></h:outputText> <span><h:inputSecret id="txtPassword" value="#{loginbean.password}" style="width:150px;" required="true"> <f:validateLength maximum="25" minimum="2"></f:validateLength> </h:inputSecret></span> <span><h:message for="txtPassword" style="float:right;color:red"showDetail="false" showSummary="true"></h:message></span> </h:panelGroup> <h:panelGroup layout="block" style="padding-left:165px;width:400px"> <h:outputText value="#{loginbean.errMessage}" style="color:red" rendered="#{loginbean.errMessage != null}" /> <br> <br> <h:commandButton value="Login " action="#{loginbean.login}" style="border: 1px solid #ccc;"></h:commandButton> </h:panelGroup> </h:panelGroup> </h:form> </f:view> </body> </html>
welcom.jsf
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>VIEW</title> <style type="text/css"> .table_head_css { text-align: center; padding: 5px 25px 5px 25px; color: #333; font-family: arial; font-weight: bold; font-size: 12px; border-top: 1px #ccc solid; border-bottom: 1px #ccc solid; background-color: #d2e8ff; } .table_list { border: 1px solid #ccc; border-collapse: collapse; text-align: center; width: 50%; font-family: Arial; font-size: 12px; } .table_column { border: 1px solid #ccc; } </style> <script type="text/javascript"> function display() { var cbOne = document.getElementById('welcome:cb1'); if (cbOne.style.display == '') { cbOne.style.display = 'none'; document.getElementById('welcome:cb2').style.display = ''; document.getElementById('welcome:password').style.display = ''; } else { cbOne.style.display = ''; document.getElementById('welcome:cb2').style.display = 'none'; document.getElementById('welcome:password').style.display = 'none'; document.getElementById('welcome:password').value = ""; } } </script> </head> <body> <f:view> <h:form id="welcome"> <h:panelGroup layout="block" style="text-align:center;padding-top:100px"> <f:verbatim><h:outputText value="#{msg.WELCOME}"/></f:verbatim> <h:outputText value="#{loginbean.name}" style="font-size: 20px;font-family: Arial;font-weight: bolder;" /> <br> <br> <h:commandButton id="cb1" style="border: 1px solid #ccc;" value="change password" onclick="display();return false;" > </h:commandButton> <h:inputSecret style="margin-right:10px;display:none" id="password" value="#{loginbean.password}" binding="#{loginbean.inputPassword}"> <f:validateLength minimum="1" maximum="25" /> </h:inputSecret> <a4j:commandButton id="cb2" style="border: 1px solid #ccc;display:none" immediate="true" actionListener="#{loginbean.changePassword}" value="submit" oncomplete="display();"></a4j:commandButton> <br> <br> <a4j:commandButton id="submit1" value="view associates" action="#{loginbean.view}" style="border: 1px solid #ccc;" limitToList="false" reRender="panel"></a4j:commandButton> <br> <br> </h:panelGroup> <a4j:outputPanel id="panel" layout="block" style="text-align:center;padding-left:33%;" ajaxRendered="true"> <h:dataTable id="table" var="user" value="#{loginbean.lstUser}" headerClass="table_head_css" styleClass="table_list" columnClasses="table_column" rendered="#{loginbean.lstUser != null}" binding="#{loginbean.dataTable}"> <h:column> <f:facet name="header"> <h:outputText value="NAME" /> </f:facet> <h:outputText value="#{user.name}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="PHONE" /> </f:facet> <h:outputText value="#{user.phone}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="ADDRESS" /> </f:facet> <h:outputText value="#{user.address}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="DEPARTMENT" /> </f:facet> <h:selectOneMenu id="select" value="#{user.department}" binding="#{loginbean.selectOneMenu}" valueChangeListener="#{loginbean.selectValueChange}" style="height: auto; width: auto; border: 1px solid #ccc;font-family: Arial;font-size: 12px;" onchange="this.form.submit();"> <f:selectItems value="#{loginbean.lstDepartments}" /> </h:selectOneMenu> </h:column> </h:dataTable> <h:messages layout="table" style="color:red"></h:messages> </a4j:outputPanel> <a4j:status> <f:facet name="start"> <h:panelGroup style="padding-left:49%;"> <h:graphicImage url="/ajax-loader.gif" /> </h:panelGroup> </f:facet> </a4j:status> </h:form> </f:view> </body> </html>
jar :
-
- commons-beanutils-1.7.0.jar
- commons-collections.jar
- commons-digester-1.8.jar
- commons-logging.jar
- jsf-api.jar
- jsf-impl.jar
- jstl.jar
- ojdbc14.jar
- richfaces-api-3.3.2.SR1.jar
- richfaces-impl-3.3.2.SR1.jar
- richfaces-ui-3.3.2.SR1.jar
- spring.jar
- tomahawk12-1.1.9.jar
推荐阅读
-
Spring框架学习-Spring和IOC概述
-
Spring实战拆书--SpringBean
-
Spring Boot 入门(五):集成 AOP 进行日志管理
-
[读书笔记] Spring MVC 学习指南 -- 第一章
-
spring cloud Eureka 配置信息
-
Mybaits 源码解析 (十)----- 全网最详细,没有之一:Spring-Mybatis框架使用与源码解析
-
手把手教你定制标准Spring Boot starter,真的很清晰
-
Spring在代码中获取bean的几种方式详解
-
spring boot 枚举使用的坑整理
-
浅谈Spring Security 对于静态资源的拦截与放行