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

JSF问题集锦-General Questions

    博客分类:
  • jsf
阅读更多
java 代码
  1. 1.如何结束session?   
  2. 你可以使用session的 invalidate方法 .   
  3. 下面是一个从action方法中结束session的例子: :   
  4. public String logout() {   
  5.   FacesContext fc = FacesContext.getCurrentInstance();   
  6.   HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);   
  7.   session.invalidate();   
  8.   return "login_page";   
  9. }    
  10. 下面的代码片段示例了如何在JSP页面中结束session:   
  11. <% session.invalidate(); %>   
  12. <c:redirect url="loginPage.jsf" />   
  13.   
  14.   
  15. 2.如何在JSP页面中访问web.xml中的初始化参数?   
  16. 你可以使用预定义的JSF EL变量  initParam来访问:   
  17. 例如,如果你有:   
  18. <context-param>   
  19.  <param-name>productId</param-name>   
  20.  <param-value>2004Q4</param-value>   
  21. </context-param>   
  22. 你可以使用她 #{initParam['productId']}来访问 .例如:   
  23. Product Id: <h:outputText value="#{initParam['productId']}"/>   
  24.   
  25.   
  26. 3.如何从java代码中访问web.xml 中的初始化参数?   
  27. 你可以使用externalContext的 getInitParameter 方法得到他们.例如 如果你的参数如下:   
  28. <context-param>   
  29.  <param-name>connectionString</param-name>   
  30.  <param-value>jdbc:oracle:thin:scott/tiger@cartman:1521:O901DB</param-value>   
  31. </context-param>   
  32. 你可以使用下面代码访问connectionString :   
  33. FacesContext fc = FacesContext.getCurrentInstance();String connection = fc.getExternalContext().getInitParameter("connectionString");    
  34.   
  35.   
  36. 4.如何从backing bean中得到当前页面的URL?   
  37. 你可以通过FacesContext得到一个Http Request对象的引用,如下:   
  38. FacesContext fc = FacesContext.getCurrentInstance();HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();    
  39. 然后使用普通的request方法来得到路径信息.还可以使用另外一种方法:   
  40. context.getViewRoot().getViewId();   
  41. 将返回你当前JSP(JSF view IDs 基本上只是JSP path names)页面的名字.   
  42.   
  43.   
  44. 5.如何添加上下文路径到outputLink的URL中?   
  45. 在当前的JSF实现中,当在outputLink 中定义的路径以'/'开始时,没有添加上下文路径到URL中,要弥补该问题请在URL中使用 #{facesContext.externalContext.requestContextPath} 前缀.例如:   
  46. <h:outputLink value="#{facesContext.externalContext.requestContextPath}/myPage.faces">   
  47.   
  48.   
  49. 6.如何使用URL字符串来传递参数到JSF程序中?   
  50. 如果你有下面的URL: http://your_server/your_app/product.jsf?id=777, 你可以使用下面的代码来访问所传递的参数:     
  51. FacesContext fc = FacesContext.getCurrentInstance();String id = (String) fc.getExternalContext().getRequestParameterMap().get("id");    
  52. 在JSF页面上,你也可以使用预定义的变量访问同样的参数,例如:    
  53. <h:outputText value="#{param['id']}" />   
  54. 注意: 你必须直接调用该JSF页面,并且使用servlet 映射 (mapping).   
  55.   
  56.   
  57. 7.如何在页面重新载入的时候保留h:inputSecret中的密码?   
  58. 设置redisplay=true, it is false by default.   
  59.     
  60.   
  61. 8.如何使用h:outputText输出HTML标签?   
  62.   
  63. h:outputText有一个  escape 属性用来处理html 标签. 默认值为true.这意味着所有特殊的符合都被转义为'&'代码. 请看下面示例:  <h:outputText value="<b>This is a text</b>"/> 打印的结果是:  <b>This is a text</b>  而 <h:outputText escape="false" value="<b>This is a text</b>"/>  打印的结果是:  This is a text  当用户点击Command Link后如何显示确认对话框?   
  64. h:commandLink指定了 onclick 属性为内部使用. 因此你不可以使用她了, 该问题已经在JSF1.2中修复了,对于JSF1.2以前的版本,你可以在onclick以前使用  onmousedown 事件  <script  language="javascript">  function ConfirmDelete(link) {    var delete = confirm('Do you want to Delete?');    if (delete == true) {      link.onclick();    }  }</script>   
  65. <h:commandLink action="delete" onmousedown="return ConfirmDelete(this);">  <h:outputText value="delete it"/></h:commandLink>   
  66.     
  67.   
  68. 9.在调用ValueChangeListener 方法后如何重新装载页面?   
  69. 在 ValueChangeListener的最后,调用  FacesContext.getCurrentInstance().renderResponse()   
  70. 如何实现"请等待..."页面? 在客户端实现可能很简单.你可以包装JSP页面(或者你想要隐藏的一部分)到一个div中,然后你可以添加更多div,当用户点击提交按钮时这些div出现.这些div可以包含gif动画和其他内容. 场景:当用户点击按钮,调用JS函数,该函数隐藏页面并且显示"请等待..."div.你可以使用CSS来自定义外观:下面是一个正常工作的例子: <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>   
  71. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>   
  72. <f:loadBundle basename="demo.bundle.Messages" var="Message"/>   
  73. <html>   
  74. <head>   
  75.   <title>Input Name Page</title>   
  76.   <script>   
  77.     function gowait() {   
  78.       document.getElementById("main").style.visibility="hidden";   
  79.       document.getElementById("wait").style.visibility="visible";   
  80.     }   
  81.    </script>   
  82.       
  83.  </head>   
  84.  <body bgcolor="white">   
  85.   <f:view>   
  86.     <div id="main">   
  87.        <h1><h:outputText value="#{Message.inputname_header}"/></h1>   
  88.        <h:messages style="color: red"/>   
  89.        <h:form id="helloForm">   
  90.          <h:outputText value="#{Message.prompt}"/>   
  91.          <h:inputText id="userName" value="#{GetNameBean.userName}" required="true">   
  92.            <f:validateLength minimum="2" maximum="20"/>   
  93.          </h:inputText>   
  94.          <h:commandButton onclick="gowait()" id="submit"  
  95.                action="#{GetNameBean.action}" value="Say Hello" />   
  96.        </h:form>   
  97.     </div>   
  98.     <div id="wait" style="visibility:hidden; position: absolute; top: 0; left: 0">   
  99.        <table width="100%" height ="300px">   
  100.          <tr>   
  101.            <td align="center" valign="middle">   
  102.              <h2>Please, wait...</h2>   
  103.            </td>   
  104.          </tr>   
  105.        </table>   
  106.     </div>   
  107.   </f:view>   
  108.  </body>   
  109. </html>    
  110.   
  111. 如果你想有一个动画gif图片在"请等待..."中,当表单提交后该图片应该从新加载.因此,再一次指定图片的id,并且添加经过一段时间延时后重新加载的代码.下面是个例子: <script>   
  112.  function gowait() {   
  113.    document.getElementById("main").style.visibility="hidden";   
  114.    document.getElementById("wait").style.visibility="visible";   
  115.    window.setTimeout('showProgress()', 500);   
  116.  }   
  117.   function showProgress(){   
  118.    var wg = document.getElementById("waitgif");   
  119.    wg.src=wg.src;   
  120.  }   
  121. </script>   
  122. ....   
  123. <img id="waitgif" src="animated.gif">   
  124.   
分享到:
评论

相关推荐

    jsf-api-2.0.3.jar.zip_jsf api_jsf jar包_jsf-api-2.0.3.jar_jsf-api

    在部署包含JSF功能的Web应用到Tomcat时,确保所有必要的库,如`jsf-api.jar`(通常与`jsf-impl.jar`一起使用,提供JSF实现),被正确地添加到Tomcat的类路径(ClassPath)中是至关重要的。如果缺失这些库,应用程序...

    JSF-AV-rules.rar_JSF AV rule_JSF-AV_JSF-AV-rules_航空C++编程规范

    《JSF-AV-rules.rar》是一个压缩包文件,包含了航空C++编程规范,这个规范主要针对的是在航空系统开发中使用C++编程时应当遵循的一系列规则和标准。航空系统的软件开发对于安全性、可靠性和可维护性有着极高的要求,...

    jsf-api-2.0.jar

    这是jsf-api-2.0.jar,为了使用方便传上来.只是个jar包.

    jboss-ajax4jsf-1.1.1-src

    【标题】"jboss-ajax4jsf-1.1.1-src" 是一个开源项目,主要涉及Ajax4jsf框架的源代码版本,版本号为1.1.1。Ajax4jsf是针对JavaServer Faces (JSF) 技术的一个扩展,它允许开发者在JSF应用中无缝集成Ajax功能,提升...

    参考合同-集体林权流转合同(JSF-2015-2602).zip

    《集体林权流转合同》(JSF-2015-2602)是针对我国农村集体林地使用权和林木所有权转移的一种规范性法律文件。这份文档,以.docx格式存储在压缩包内,旨在为涉及集体林权交易的各方提供一个标准化的合同模板,确保...

    jsf-impl-2.0.0-src.jar

    jsf-impl-2.0.0源代码文件, jsf-impl-2.0.0-SNAPSHOT-sources.jar

    jsf-impl-1.2_15.jar

    这是jsf-impl-1.2_15.jar,为了使用方便传上来.只是个jar包.

    jsf-api-1.2

    综上所述,"jsf-api-1.2"提供了丰富的API和功能,使开发者能够高效地构建和维护企业级的Java Web应用程序。通过对组件、事件、Managed Beans、视图状态、转换验证、导航、国际化以及错误处理的理解和熟练运用,...

    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-4.0.3

    **JSF(JavaServer Faces)与Spring框架的整合** JSF和Spring是两个在Java Web开发中广泛应用的框架。...通过这个"jsf-spring-4.0.3"的资源,开发者可以学习到如何进行这种集成,以及解决可能出现的问题。

    JSF-api-1.2_14-sources.jar

    JSF-api-1.2_14-sources.jar,提供了jsf使用时的多种内部类。

    一个简单的jsf例子------JSF2学习笔记1

    - `jsf-impl.jar` 和 `jsf-api.jar` 包含了JSF2的核心实现和API,供应用程序使用。 - `commons-collections-3.1.jar` 提供了集合操作的扩展,常常用于辅助处理数据。 - `commons-beanutils-1.8.0.jar` 提供了对...

    jsf-api-1.2-12.jar

    jsf-api-1.2-12.jar

    JavaEE源代码 jsf-api

    JavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-...

    jsf-spring-hibernate整合

    本项目"jsf-spring-hibernate整合"旨在将这三大技术进行无缝集成,采用基于注解的方式来简化配置,提高开发效率。 JSF(JavaServer Faces)是Java平台上的一个标准组件模型,用于构建富互联网应用程序(RIA)。它...

    JavaEE源代码 jsf-impl

    JavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源...

    jsf-api,jsf-impl,jst1-1.2,javaee

    标题中的"jsf-api"和"jsf-impl"分别代表了JSF框架的API接口和其实现。"jsf-api" JAR文件包含了JSF框架的公共接口和类,定义了各种组件、事件和生命周期方法,供开发者在代码中引用。而"jsf-impl" JAR文件则提供了...

    JSF资源---精心收集,奉献给大家

    10. **错误处理和调试**:学习如何理解和解决JSF开发中遇到的问题也是重要的部分,资源可能包括了常见错误的分析和调试技巧。 总之,"JSF资源---精心收集,奉献给大家"这个压缩包提供了一套全面的学习资料,对于想...

    jsf-api-src.zip

    `jsf-api-src.zip`是一个压缩包,包含了JSF API的源代码,这对于开发者深入理解JSF的工作原理、调试和自定义组件非常有帮助。 在这个源码包中,`jsf127src`很可能代表JSF 1.2或2.7版本的源代码。JSF 1.2是JSF的第一...

Global site tag (gtag.js) - Google Analytics