JSF 2.0 초보자 데모
뿌리
--웹 페이지
--login.xhtml
--index.html
--error.html
--웹-INF
--web.xml
--sources 패키지
--org
--b3log
--신청
--로그인.자바
--실재
--사용자.자바
pom.xml
JSF2.0은 주로 Facelet의 포함으로 인해 수반되는 많은 가치를 절약합니다. face-config.xml에 많은 구성을 저장합니다.
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>
com.corejsf.UserBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
불필요한
<navigation-rule>
<navigation-case>
<from-view-id>/pages/login.xhtml</from-view-id>
<outcome>places</outcome>
<to-view-id>/pages/places.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
이러한 복잡한 탐색 규칙은 규칙에 따라 절대 경로를 통해서만 탐색하면 됩니다.
예
<h:form>
<h:commandLink action="login" value="Back"/>
</h:form>
같은 레벨 디렉토리에 있는 login.xhtml 페이지로 바로 이동할 수 있습니다.
페이지 점프는 자바 애플리케이션 코드에서 반환된 문자열에 따라 수행될 수도 있습니다.
예
public String login(final String password) {
if (password.equals("Vanessa")) {
return "index";
}
return "error";
}
EL 표현의 향상
과거에는 JSF의 표현이 매개변수 전달을 지원하지 않았지만 이제는 해당 설정 파일을 구성하여 구현할 수 있습니다.
1. Maven을 통해 필요한 종속성 가져오기
<dependencies>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.1.2-b05</version>
</dependency>
<dependency>
<groupId>org.jboss.el</groupId>
<artifactId>jboss-el</artifactId>
<version>2.0.1.GA</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>sun</id>
<url>http://download.java.net/maven/2/</url>
</repository>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>jboss.org</id>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
2. web.xml에서 expressionFactory 구성
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
3. EL 표현식을 사용하여 객체를 전달할 수 있습니다.
예:
신청 설명
사용자가 사용자 이름과 비밀번호를 입력하여 로그인합니다.
1. 로그인 성공 -- 비밀번호는 "Vanessa"입니다. index.xhtml 페이지를 입력하고 표시: Welcome, #{user.userName}!
2. 로그인 실패 -- 암호가 "Vanessa"가 아닙니다. error.xhtml 페이지를 입력하고 오류 이유를 묻고 뒤로를 클릭하고 index.xhtml로 돌아갑니다.
코드의 일부
--login.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>Welcome Login</title>
</head>
<body>
<h:form>
<h:panelGrid columns="2">
<h:outputLabel for="userName" value="User Name"/>
<h:inputText id="userName" value="#{user.userName}"/>
<h:outputLabel for="password" value="Password"/>
<h:inputSecret id="password" value="#{user.password}"/>
<h:outputLabel value=""/>
<h:commandButton value="Login" action="#{login.login(user.password)}"/>
</h:panelGrid>
</h:form>
</body>
</html>
--index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Index</title>
</head>
<body>
Welcome, #{user.userName}!
</body>
</html>
--error.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>Error</title>
</head>
<body>
The Password is Error!
<h:form>
<h:commandLink action="login" value="Back"/>
</h:form>
</body>
</html>
--로그인.자바
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.b3log.application.jsf;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.b3log.entity.User;
/**
*
* @author Vanessa
*/
@ManagedBean(name = "login")
@SessionScoped
public class Login {
public String login(final String password) {
if (password.equals("Vanessa")) {
return "index";
}
return "error";
}
}
--사용자.자바
package org.b3log.entity;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
/**
* This class depicts a user of B3log. This class only describes user's
* information basically, such as user name, email address, etc. The security
* information(i.e. user password, user roles, etc) is depicted in class
* <code>UserAccount</code>.
*
* @author <a href="mailto:[email protected]" mce_href="mailto:[email protected]">Liyuan Li</a>
* @version 1.0.0.0, Aug 4, 2009
* @see UserAccount
*/
@ManagedBean(name = "user")
@SessionScoped
public class User implements Serializable {
private String userName;
private String email;
private String password;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
원본 링크: http://blog.csdn.net/vanessa219/article/details/4572934
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.