下面是一個例子:
jsp1.jsp:
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<f:view>
<head>
<title>jsp1</title>
<link rel="stylesheet" type="text/css" href="./style.css" title="Style"/>
</head>
<body bgcolor="#ffffff"> TESTING...
<h:form id="form1">
<h:panelGrid id="panelgridtest" binding="#{jsp1Bean.component}"/>
</h:form>
</body>
</f:view>
</html>
?
Jsp1Bean.java:
package?test; ? import?javax.faces.application.Application; import?javax.faces.component.UIComponent; import?javax.faces.component.UIPanel; import?javax.faces.component.UIViewRoot; import?javax.faces.component.html.HtmlInputText; import?javax.faces.component.html.HtmlOutputText; import?javax.faces.context.FacesContext; ? public?class?Jsp1Bean { ????UIComponent?component?=?null; ????FacesContext?facesContext?=?FacesContext.getCurrentInstance(); ????UIViewRoot?uIViewRoot?=?facesContext.getViewRoot(); ????Application?application?=?facesContext.getApplication(); ? ????public?Jsp1Bean() ????{ ????} ? ????public?UIComponent?getComponent() ????{ ????????if?(component?==?null) ????????{ ????????????component?=?new?UIPanel(); ????????} ????????return?component; ????} ? ????public?void?setComponent(UIComponent?component) ????{ ????????this.component?=?component; ????} ? ?????//initialization?block ????{ ????????try ????????{ ????????????//outputText1 ????????????HtmlOutputText?outputText1?=?(HtmlOutputText)? ??????????????facesContext.getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE); ????????????outputText1.setValue("---the?outputText1?value---"); ????????????//inputText1 ????????????HtmlInputText?inputText1?=?(HtmlInputText) ????????????????facesContext.getApplication().createComponent(HtmlInputText.COMPONENT_TYPE); ????????????inputText1.setValue("---the?inputText1?value---"); ? ????????????//add?outputText1?and?inputText1?to?component?("UIPanel") ????????????this.getComponent().getChildren().add(outputText1); ????????????this.getComponent().getChildren().add(inputText1); ????????} ????????catch?(java.lang.Throwable?t) ????????{ ????????????System.out.println("java.lang.Throwable?exception?encountered...t.getMessage()="?+?t.getMessage()); ????????????t.printStackTrace(); ????????} ????} ? ????public?String?doAction() ????{ ????????return?"submit"; ????} } |
?
faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/jsp1</from-view-id>
<navigation-case>
<from-action>submit</from-action>
<to-view-id>/jsp1</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>jsp1Bean</managed-bean-name>
<managed-bean-class>test.Jsp1Bean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>