Java Server Faces(JSF)的关键(一)

Java Server Faces(JSF)的关键(一)

注:
其实JSF不难的,只要把它分解出来,你会发现,其实也比较简单。

1.布局方面(UI界面):
  • 在布局方面,其实就是 HTML 和 JSF 里面的 XHTML 的嵌套使用;(只要学过html,布局都是小事,不过这个不是核心) 嵌套,比如这样

    	<h:form>
    		<tr>
    			 <td align="left"><p style="color:#ffffff">Id:</p></td>
    			 <td align="left"><h:inputText size="20"></h:inputText></td>
    		</tr>
    		<tr>
    			<td align="left"><p style="color:#ffffff">Password:</p></td>
    			<td align="left"><h:inputSecret size="21"></h:inputSecret></td>
    		</tr>
    		<tr>
    			<td align="cnter"><h:commandButton value="submit" /></td>
    			<td align="center"><h:commandButton value="reset" type="reset" /></td>
    		</tr>
    	</h:form>	
    
2.定义自己的受管Bean (说白了,其实就是一个java类):
  • 比如:
       package com.myTest;
       
       public class PrivateClass {
       	
       	private int x;
       
       	//对x进行封装。对外提供一个方法,以供别人使用;
       	public int getX() {
       		return x;
       	}
       
       	public void setX(int x) {
       		this.x = x;
       	}
       }
    
3.配置受管Bean(主要有两种方式):
  • 使用 Faces-Config.xml 配置文件来进行配置

     <managed-bean>
     	<managed-bean-name> Bean-name </managed-bean-name>
     	<managed-bean-class> Bean-class </managed-bean-class>
     	<managed-bean-scope> Bean-scope </managed-bean-scope>
     </managed-bean>
    

    < managed-bean-scope >设定Bean的存活范围,您可以设定为request、session 与application,设定为request时,Bean的存活时间为请求阶段,设定为session则在使用者应用程序交互开始,直到关闭浏览器或显式的结束会话为止(例如登出程序),设定为application的话,则Bean会一直存活,直到应用程序关闭为止(session和application的区别不是太懂),还可以设置为:view,coversation,flow;

  • 使用批注 来进行配置

    	@Named("bean-name")     //这里是受管bean的名称;
    	@SessionScoped          //这里只是举例来说明配置的bean的作用域范围为会话,其他作用域以此类推;
    
4.绑定受管Bean (和 UI 组件进行绑定(使用JSF EL)):
  • EL 又分为 值表达式 和 方法表达式;

    值表达式语法:

    	#{bean_name.property_name}
    

    举例:

    	<h:inputText value="#{customer.name}" />
    

    方法表达式语法:

    	#{bean_name.method_name}
    

    举例:

     	<h:inputText value="#{customer.name}" validator="#{customer.validateName}" />
    
  • 小技巧受管 bean 里面的属性就是 UI 组件里面用户输入的数据的映射

发布了56 篇原创文章 · 获赞 51 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43495629/article/details/90170476
今日推荐