`
forhope
  • 浏览: 360313 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

JSF笔记(一)

阅读更多
在项目中需要实现这样一个功能,在Reboot设备后确认操作是否成功。但是Reboot设备是一个延时比较大的过程。由于项目是B/S架构,服务器无法把信息推给客户端,因此要实现及时返回操作状态就必须定时刷新页面,这就是B/S系统比较麻烦的地方。在这里我使用JSF中的a4j:poll标签来实现后台数据的不断更新。代码如下:
  <?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core" >
	<head>
		<title>JSF</title>
		<script type="text/javascript">
//JS的作用是定时检测后台传过来的数据是否符合条件,并产生相应提示。在页面加载时调用
        function judgeResult(){
             var result = document.getElementById('textResult').value;
             if(result != ""){
             if(result != 'none'){
               alert(result);
               }
             }
             setTimeout('judgeResult()',20000);
        }
        </script>
	</head>
	<body onload="judgeResult();">
	  <h:form style="display:none">
//刷新后台的标签,其中panelgrid指定刷新的控件
        <a4j:poll interval="2000000" reRender="panelgrid"/>
      </h:form>
      http://www.xxx.com
      <h:panelGrid id="panelgrid">
        <input type="hidden" value="${cpeManageAction.result}" id="textResult"/>
      </h:panelGrid>
	</body>
</html>


JSF的路径配置问题:

	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>/pages/*</url-pattern>
	</servlet-mapping>

这样配置只是代表可以处理这种请求:http://localhost:8080/abc/pages/index.jsp
但是实际上index.jsp是放在工程路径下的,并非在pages文件夹下。也就是说配置只是对原来webroot下的页面多加了一个虚路径pages,并且可以访问.jsp后缀的文件。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics