下面是一个例子:
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>