- @Scope(value = "prototype")
- @Controller("SwitchAction ")
- public class SwitchAction implements ServletRequestAware,ServletResponseAware,ModelDriven{
- protected HttpServletRequest request;
- protected HttpServletResponse response;
- public String getNewPage(){
- String Id = request.getParameter("Id"); //获取传递的参数
- request.setAttribute("Id",Id); //设置属性值,传递参数
- return "newPage"; //struts配置文件中跳转新页指定返回字符串
- }
- public String getnewHtml(){
- JSONObject json = new JSONObject();
- String Id = request.getParameter("Id");
- PageRecord pageRecord = pageService.getObjectById(Id); //根据Id获取表内容
- StringBuffer newHtml= new StringBuffer(pageRecord .getnewHtml);//得到表中String类型的html字符串
- try {
- response.getWriter().print(newHtml.toString()); //将html的字符串输出到页面
- } catch (IOException e) {
- json.put("success",false);
- e.printStackTrace();
- }
- return null;
- }
- }
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="switch" namespace="/switch" extends="bob-default">
- <action name="switchAction" class="SwitchAction">
- <result name="newPage">/WEB-INF/jsp/switch/newPage.jsp</result>
- </action>
- </package>
- </struts>
4、将需要填充的html字符串填充到新页的表格(newPage.jsp)
- var Id = '${Id}';
- $(document).ready(function(){
- //将html字符串填充到表格
- $.ajax({
- type:"post",url:"/switch/SwitchAction!getNewHtml.do",data: {
- "Id":Id
- },success:function(data){
- $("#hiddenTable").html(data);//将html字符串转化为jquery对象
- var basichtml = $("#hiddenTable").find('#id-body').html();//查找对象中子节点的值,即表格内容
- var str = "<tr><th width=\"5%\">序号</th><th width=\"7%\">属性名</th><th width=\"17%\">变更前</th><th width=\"17%\">变更后</th></tr>";
- var basichtml = str + basichtml;//加上表头
- $("#basicTable").html(basichtml)//将拼接的新字符串填充到表格
- refreshTabOffset();//刷新body页面
- },error:function(data){
- var str = data.html;
- alert("加载失败。");
- refreshTabOffset();
- }
- });
- });
5、newHtml
- StringBuffer newPage = new StringBuffer();
- newPage.append("<thead><tr><th width=\"5%\">序号</th><th width=\"7%\">属性名</th><th width=\"17%\">变更前</th><th width=\"17%\">变更后</th></tr></thead>");
- newPage.append("<tbody id=\"id-body\">");
- resNo = resNo + 1;
- newPage.append("<tr><td>"+ resNo + "</td><td>编码</td>" + "<td>" + origCode + "</td>" + "<td>" + newCode + "</td></tr></tbody>");
6、PageServiceImpl.java
7、PageDaoImpl.java
- @Scope("singleton")
- @Repository("PageDao")//自动装载
- public class PageDaoImpl extends HibernateGenericDao implements PageDao{
- @Override
- public PageRecord PageRecord(PageRecord record) {
- if (record != null) {
- this.saveOrUpdate(record);
- }
- return record;
- }
- @Override
- public PageRecord getObjectById(String Id) {
- PageRecord PageRecord = null;
- if(StringUtil.isEmpty(Id))
- return null;
- StringBuffer hql = new StringBuffer( "from PageRecord where Id=:Id ");//防止sql注入
- Map<String,Object> map = new HashMap<String,Object>();//防止sql注入
- map.put("Id",Integer.parseInt(Id)); //防止sql注入
- List<PageRecord> list = this.getListByHql(hql.toString(),map);
- if(list.size()>0){
- PageRecord = list.get(0);
- }
- return PageRecord;
- }
- <!-- jQuery -->
- <script src="/bower_components/jquery/dist/jquery.min.js"></script>
- <!-- Bootstrap Core JavaScript -->
- <script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
- <!-- Metis Menu Plugin JavaScript -->
- <script src="/bower_components/metisMenu/dist/metisMenu.min.js"></script>
- <!-- Custom Theme JavaScript -->
- <script src="/dist/js/sb-admin-2.js"></script>
- <!-- Layer Popover JavaScript -->
- <script src="/UIReference/layer/layer.js"></script>
- <!-- DateTimePicker JavaScript -->
- <script
- src="/UIReference/DatetimePicker/js/bootstrap-datetimepicker.min.js"></script>
- <script
- src="/UIReference/DatetimePicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
- charset="UTF-8"></script>
- <script src="/lib/jquery-validation/jquery.validate.js"></script>
- <script src="/UIReference/echarts3/echarts.min.js"></script>
- <script type="text/javascript">//自定义脚本</script>
9、jsp页面引用CSS
- <!-- Bootstrap Core CSS -->
- <link href="/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow"
- rel="stylesheet">
- <!-- MetisMenu CSS -->
- <link href="/bower_components/metisMenu/dist/metisMenu.min.css" rel="external nofollow"
- rel="stylesheet">
- <!-- Timeline CSS -->
- <link href="/dist/css/timeline.css" rel="external nofollow" rel="stylesheet">
- <link
- href="/UIReference/DatetimePicker/css/bootstrap-datetimepicker.min.css" rel="external nofollow"
- rel="stylesheet">
- <!-- Custom CSS -->
- <link href="/dist/css/sb-admin-2.css" rel="external nofollow" rel="stylesheet">
- <!-- Custom Fonts -->
- <link href="/bower_components/font-awesome/css/font-awesome.min.css" rel="external nofollow"
- rel="stylesheet" type="text/css">
- <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
- <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
- <![endif]-->
- <style type="text/css"><!-- 自定义css--></style>
10、jsp页面布局
- <body οnlοad="refreshTabOffset()">
- <div class="container-fluid">
- <div class="row">
- <div class="col-sm-12 add-bottom-line" role="navigation" id="infoNav">
- <!--<ul id="transverse-tab" class="nav nav-tabs" role="tablist">
- <li id="tab-basicInfo" role="presentation" class = "active"
- οnclick="javascript:document.getElementById('basicInfo').scrollIntoView();switch(this,'0');"><a>基本信息</a></li>
- <li id="tab-Property" role="presentation"
- οnclick="javascript:document.getElementById('Property').scrollIntoView();switch(this,'1');"><a>属性</a></li>
- <li id="tab-RelationInfo" role="presentation"
- οnclick="javascript:document.getElementById('RelationInfo').scrollIntoView();switch(this,'2');"><a>关系</a></li>
- </ul>-->
- </div>
- <div class="col-sm-12"
- style="height: 500px; overflow-y: scroll; position: relative;"
- id="myModalBodyPage" οnscrοll="singleScroll();">
- <div class="row">
- <div class="panel panel-info hidden" id="switchLog">
- <table class="table table-hover table-striped table-bordered hidden"
- id="hiddenTable">
- <thead>
- <tr>
- <th width="5%">序号</th>
- <th width="7%">属性名</th>
- <th width="17%">变更前</th>
- <th width="10%">变更后</th>
- </tr>
- </thead>
- </table>
- </div>
- <div class="panel panel-info" id="basicInfo">
- <div class="panel-heading">基本信息</div>
- <table class="table table-hover table-striped table-bordered"
- id="basicTable">
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </body>
以上这篇layer页面跳转,获取html子节点元素的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。