js插入java代码渲染form数据

来源:互联网 发布:上海闵行区网络新村 编辑:程序博客网 时间:2024/05/17 18:12

<%@ page language="java" contentType="text/html; charset=utf-8"
 pageEncoding="utf-8"%>
<%@ page import="com.sinosoft.ie.dhow.core.util.JsonUtil,
                 com.sinosoft.ie.item.domain.ItemManager,
     com.sinosoft.ie.dhow.core.util.SpringHelper,
                 com.sinosoft.ie.item.dao.model.Item"%>
<%
 String id = request.getParameter("id");
 String pageInfo=null;
 if(null!=id&&!"".equals(id)){
  Item model = SpringHelper.getContext().getBean("ItemMgr",ItemManager.class).getItem(id);
  pageInfo = model==null? null:JsonUtil.convertObjectToJsonString(model);
 }
 String pageType=null;
   pageType=request.getParameter("pageType");
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/platform/datagrid/sino-panel.css" />
<script type="text/javascript" src="scripts/depend/jquery/jquery-1.6.4.min.js"></script>
<script type="text/javascript"  src="scripts/kb/item/comboTypeTree.js"></script>
<title>词根表输入</title>
<script type="text/javascript">
var pageInfo=<%=pageInfo%>||{};
var pageType='<%=pageType%>';
$(function(){
 $('.sino-panel').sino_panel({});
 var sorts="";
 if(pageInfo){
  sorts=pageInfo.type_id ||"";
 }
 initComType('localData','type_id',sorts);
 
 if('<%=pageType%>'=="edit"){
  $('#formId').formmanager('load',{data:pageInfo});
 };
 
});
</script>

String id = request.getParameter("id");
是前台页面设置,传到后台跳转中心(可取值),在传到这个form页(可取值)。

前台触发:

function editOneRecord(id){
    dispaterUrl('submitForm','kb.item.addItemPage.jsp',{id:id,pageType:'edit'});
  }

function dispaterUrl(formId,path,data){
   var url =$.global.projectName+"/kbType.menu?path="+path;
   var dispaterForm = $.global.submitForm(formId,data||{},url);
   dispaterForm.submit();
  };

1.通过后台页面跳转到此页面,打开页面之后,页面中的java代码执行查询数数据(就像后台java程序一样)得到json转为string,

2.赋值给js对像,然后js渲染form中的表单数据。