`
seven0_0
  • 浏览: 27963 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jsf spring

    博客分类:
  • Jsf
阅读更多

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 :

  1.  
    1.     commons-beanutils-1.7.0.jar
    2.     commons-collections.jar
    3. commons-digester-1.8.jar
    4. commons-logging.jar
    5. jsf-api.jar
    6. jsf-impl.jar
    7. jstl.jar
    8. ojdbc14.jar
    9. richfaces-api-3.3.2.SR1.jar
    10. richfaces-impl-3.3.2.SR1.jar
    11. richfaces-ui-3.3.2.SR1.jar
    12. spring.jar
    13. tomahawk12-1.1.9.jar

               

     

分享到:
评论

相关推荐

    JSF SPRING

    jsf与spring的集成的几种方式,以及jsf的一些技术

    qt.rar_jsf example_jsf spring hibernate_jsf下拉菜单_spring jsf hiber

    【标题】"qt.rar" 提供的是一个关于 "jsf example" 的实例,结合了 "jsf spring hibernate" 的技术栈,同时包含了 "jsf下拉菜单" 的实现,以及 "spring jsf hibernate" 的整合应用。这个压缩包可能是为了演示如何在...

    JSF Spring hibernate2

    通过配置Spring的ApplicationContext,我们可以将Spring管理的bean注入到JSF的managed bean中,使得JSF可以使用Spring服务。这种整合方式使得JSF应用可以利用Spring的强大功能,如AOP、事务管理和数据访问等。 **...

    primefaces jsf spring3.2.4 hibernate4.2.7 maven整合

    标题 "primefaces jsf spring3.2.4 hibernate4.2.7 maven整合" 涉及到的是一个基于Java技术栈的Web应用程序开发整合。以下是这些技术的详细说明: **PrimeFaces**:PrimeFaces是一个开源的用户界面组件库,专为Java...

    JSF Spring hibernate

    标题 "JSF Spring Hibernate" 涉及到的是三个核心的Java开发框架——JavaServer Faces (JSF), Spring Framework, 和 Hibernate。这三个框架在企业级Java应用开发中扮演着重要角色,它们各自解决不同的问题,并且可以...

    JSF与Spring完美结合

    2. **配置JSF**:为了使JSF能够与Spring协作,需要在JSF的配置文件(如`faces-config.xml`)中添加Spring的JSF监听器`org.springframework.web.jsf.FacesContextListener`,这样JSF就能识别到Spring的Bean。...

    sample-jsf-spring-hibernate.rar_jsf spring

    在"sample-jsf-spring-hibernate.rar"这个项目中,开发者已经将JSF、Spring和Hibernate这三大框架整合在一起,形成一个完整的应用示例。这种整合通常是为了实现以下目标: 1. **业务逻辑处理**:Spring作为中央容器...

    jsf-spring-4.0.3

    **JSF(JavaServer Faces)与Spring框架的整合** JSF和Spring是两个在Java Web开发中广泛应用的框架。JSF是一种用于构建用户界面的MVC(Model-View-Controller)框架,它提供了丰富的组件库和事件处理机制,简化了...

    JSF第一步--JSF+Spring+ Hibernate+AJAX编程实践 试读

    在"JSF第一步--JSF+Spring+Hibernate+AJAX编程实践 试读"这本书中,读者可以期待学习如何设置这些技术的集成环境,创建JSF组件,配置Spring容器,理解Hibernate的映射和查询机制,以及如何在JSF中使用AJAX进行异步...

    jsf-spring-boot-starter-2.2.6.zip

    【标题】"jsf-spring-boot-starter-2.2.6.zip" 是一个基于Java Server Faces (JSF) 和Spring Boot的启动器项目,版本为2.2.6。这个压缩包通常包含了用于快速搭建JSF应用在Spring Boot环境中的必要组件和配置。 ...

    JSF+Spring+Hibernate的实例讲解.doc

    JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...

    jsf spring hibernate 开发示例

    我真的没有见过这么详细的文档, 绝对的示例,希望大家能阅读! 除拉分析,还有操作过程及代码.

    jsf+spring 实例

    **JSF(JavaServer Faces)和Spring框架的整合** JSF和Spring都是Java开发Web应用程序时常用的技术。JSF是一个用于构建用户界面的MVC(Model-View-Controller)框架,而Spring则是一个全面的后端框架,提供依赖注入...

    jsf+spring的例子

    压缩包中的"jsfspring"文件可能是包含了该项目的所有源码和配置文件,包括JSF的页面(.xhtml)、Spring的配置文件(如applicationContext.xml)、Hibernate的映射文件(.hbm.xml或注解形式)以及数据库连接配置等。...

    joinfaces:JoinFaces:JSF Spring Boot Starters-Spring Boot Application中的JSF

    JoinFaces 这个项目允许在 ... 它可以帮助您选择适合您需求的JSF Spring Boot Starter。 官方示例项目 构建工具\包装 jar war 主要特点 请参阅以了解JoinFaces的功能:入门程序,Servlet上下文初始化参数,JS

    jsf+spring整合

    JSF(JavaServer Faces)和Spring是两种在Java Web开发中广泛使用的框架。JSF主要用于构建用户界面,而Spring则提供了全面的企业级应用框架服务,包括依赖注入、事务管理、安全性和AOP(面向切面编程)。将两者整合...

    JSF和Spring集成.doc

    ### JSF与Spring集成知识点详解 #### 一、概述 **JSF (JavaServer Faces)** 和 **Spring** 都是目前广泛使用的Java Web开发框架。JSF 是一个用于构建基于 Java 的 Web 应用程序的标准组件框架,而 Spring 框架则是...

    jsf+spring的jar包

    JSF(JavaServer Faces)和Spring是两种在Java Web开发中广泛应用的技术框架。JSF主要用于构建用户界面,而Spring则提供了全面的企业级应用框架服务,包括依赖注入、面向切面编程、事务管理等。 首先,JSF是一个MVC...

Global site tag (gtag.js) - Google Analytics