首页
登录 | 注册

JSF FAQ 常见问题

  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. "loginPage.jsf" />   
  13.   
  14.   
  15. 2.如何在JSP页面中访问web.xml中的初始化参数?   
  16. 你可以使用预定义的JSF EL变量  initParam来访问:   
  17. 例如,如果你有:   
  18.   
  19.  productId   
  20.  2004Q4   
  21.   
  22. 你可以使用她 #{initParam['productId']}来访问 .例如:   
  23. Product Id: "#{initParam['productId']}"/>   
  24.   
  25.   
  26. 3.如何从java代码中访问web.xml 中的初始化参数?   
  27. 你可以使用externalContext的 getInitParameter 方法得到他们.例如 如果你的参数如下:   
  28.   
  29.  connectionString   
  30.  jdbc:oracle:thin:scott/tiger@cartman:1521:O901DB   
  31.   
  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. "#{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. "#{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.这意味着所有特殊的符合都被转义为'&'代码. 请看下面示例:  "This is a text"/> 打印的结果是:  This is a text  而 "false" value="This is a text"/>  打印的结果是:  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. "delete" onmousedown="return ConfirmDelete(this);">  "delete it"/>   
  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. "demo.bundle.Messages" var="Message"/>   
  73.   
  74.   
  75.   Input Name Page   
  76.   <script>   
  77.     function gowait() {   
  78.       document.getElementById("main").style.visibility="hidden";   
  79.       document.getElementById("wait").style.visibility="visible";   
  80.     }   
  81.    script>   
  82.       
  83.     
  84.  "white">   
  85.      
  86.     "main">   
  87.        

    "#{Message.inputname_header}"/>

      
  88.        "color: red"/>   
  89.        "helloForm">   
  90.          "#{Message.prompt}"/>   
  91.          "userName" value="#{GetNameBean.userName}" required="true">   
  92.            "2" maximum="20"/>   
  93.             
  94.          "gowait()" id="submit"  
  95.                action="#{GetNameBean.action}" value="Say Hello" />   
  96.           
  97.     
  
  •     "wait" style="visibility:hidden; position: absolute; top: 0; left: 0">   
  •        "100%" height ="300px">   
  •             
  •            "center" valign="middle">   
  •              

    Please, wait...

      
  •               
  •             
  •           
  •     
  •   
  •      
  •  

  • 相关文章

    • 网页设计初级常见问题:[3]如何确定网页尺寸
      工具/原料 HTML CSS 心得分享 我初学时,也曾头痛过这个问题.怕不正规的网页宽度.不协调的结构比例,让行内人笑话. 电商类型的网站首页宽度,大多在1200像素左右:比如京东1210px.苏宁1190px.当当1200px.亚马孙自适 ...
    • http://blog.csdn.net/yangliuy/article/details/8447886
    • 基于 HTML5 结合互联网+的电力接线图
       "互联网+"思维让数据的搜集和获取更加便捷,并且随着大数据的深度开发和应用,数据分析预测对于提升用户体验有非常重要的价值,同时也为不同行业.不同领域的合作提供了更广阔的空间.传统的发电企业是一个资金.技术密集但又相对独 ...
    • 一,安装clamav 根据系统的不同,用不同的命令,yum,pacman等.如果找不到包的话,只有下源码自己编译了. freshclam 三,查看一下clamav进程 四,一些常规用法举例 2,将扫描结果存放到log中,clamscan - ...
    • 操作系统是debian系的话,可以使用以下7个工具: 如果你运行Debian或它的衍生版本之一,迟早会遇到apt-get和dpkg,它们是主要的软件包管理命令.然而,这些只是最常见的Debian软件包工具.这些年来,Debian实际上陆续推 ...
    • TOP命令行语义分析
      接触 linux 的人对于 top 命令可能不会陌生(不同系统名字可能不一样,如 IBM 的 aix 中叫 topas ),它的作用主要用来监控系统实时负载率.进程的资源占用率及其它各项系统状态属性是否正常. 下面我们先来看张 top 截图 ...

    2020 unjeep.com webmaster#unjeep.com
    12 q. 0.013 s.
    京ICP备10005923号