herefree 发布的文章

使用$.getJSON函数时,想往全局域传值发现传不过去

var tdeptna;
	var tpostna; 
	$.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=jxdw",null,function call(data){   
       	if(data.errmsg!=""){
       		alert(data.errmsg);
       		return;
       	}
       	var tdept=eval(data.result);
       	tdeptna=tdept;      	
       	$("#tdeptid").combobox('loadData', tdept);//直接加载数据
       	
     });
console.log(tdeptna)

无法将tdept的值传给tdeptna,在网上查了一下,发现ajax默认是异步执行的,也就是说$.getJSON还没有执行完的情况下,console.log已经打印了。
解决:在$.getJSON前面加上$.ajaxSetup({async:false});就好了

var tdeptna;
	var tpostna;
	$.ajaxSetup({async:false}); 
	$.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=jxdw",null,function call(data){   
       	if(data.errmsg!=""){
       		alert(data.errmsg);
       		return;
       	}
       	var tdept=eval(data.result);
       	
       
       	tdeptna=tdept;
       	
       	$("#tdeptid").combobox('loadData', tdept);//直接加载数据
       	
     });

html

教研室

姓名

导入教师  

js

function searchTeacher(){
	/*绑定教师列表tealistform  查询*/
	var options={
		dataType: 'json',
		success:      teaResponse//获取返回数据的函数
	};
	$('#tealistform').form(options);//使用Ajax提交表单

}
function teaResponse(data){
	var resultdata=$.parseJSON(data) //如果无法解析也可用eval,解析。
	var tealist=resultdata.result;
	$('#teachertb').datagrid('loadData', tealist);//向table加载数据
}

捣鼓了好久终于弄好了。

一、连接池配置

  1. 在tomcat下Tomcat/conf/context.xml添加如下代码

......


2.在项目web.xml下添加如下代码

 

 ...
  
    DB Connection 
    jdbc/mysql_5_1_52_0 
    javax.sql.DataSource 
    Container 
   

注意(敲黑板):web.xml里面 <res-auth> 与context.xml里面auth 一致,<res-ref-name>与name一致。

3.java代码

...
private static DataSource ds = null;
 static {
 try {
 Context ctx = new InitialContext();
 ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/mysql_5_1_52_0");
 } catch (NamingException e) {
 e.printStackTrace();
 }
 }
 public static Connection getConnection() throws SQLException {
 return ds.getConnection();
 }

注意:java:/comp/env/jdbc/mysql_5_1_52_0 最后的jdbc/mysql_5_1_52_0与context.xml内的name一致

二、虚拟路径配置

解决了以上问题之后如果出现Cannot create JDBC driver of class '' for connect URL 'null'错误需要以下做法

在eclipse中配置项目发布路径,具体如下:在eclipse下部的Servers窗口中右键点击Tomcat v8.0 Server at localhost然后点击open,找到图中所示,将Server Locations选为第二项Use Tomcat……

20180105162719

Server path:为tomcat所在目录
Deploy path:设为webapps
已经配置好的无法修改,因此你需要点击右键新建一个server
18.1.5.1
然后新建的server可以修改,修改为如图所示:
18.1.5.2
参考网址:http://blog.sina.com.cn/s/blog_70d4900f01018k8d.html

 

 

原主题版
angularedittable
html

 
{{ showGroup(user) }}

js

$scope.users = [
      {id: 1, name: 'awesome user1', status: 2, group: 4, groupName: 'admin'},
      {id: 2, name: 'awesome user2', status: undefined, group: 3, groupName: 'vip'},
      {id: 3, name: 'awesome user3', status: 2, group: null}
    ];

    $scope.groups = [];
    $scope.loadGroups = function() {
      return $scope.groups.length ? null : $http.get('api/groups').success(function(data) {//获取后台数据
        $scope.groups = data;
      });
    };

    $scope.showGroup = function(user) {/
      if(user.group && $scope.groups.length) {
        var selected = $filter('filter')($scope.groups, {id: user.group});//将值赋值给id,然后编辑下拉框时 显示 selected[0].text的值
        return selected.length ? selected[0].text : 'Not set';
      } else {
        return user.groupName || 'Not set';
      }
    };

json

[
  {"id": 1, "text": "user"},
  {"id": 2, "text": "member"},
  {"id": 3, "text": "vip"},
  {"id": 4, "text": "admin"}
]

所用项目修改版
angularedit
html

					
{{ showcompanyGroup(item) }}

js

 $scope.companygroups = []
	 $scope.loadcompanyGroups = function() {
	      return $scope.companygroups.length ? null : $http.get('/jsjxyxt/unit/get.do').success(function(data) {
	        $scope.companygroups = data.result;
	        
	      });
	 };
	    
	    
	    $scope.showcompanyGroup = function(item) {	
	        if(item.unit.uname && $scope.companygroups.length) {
	          var selected = $filter('filter')($scope.companygroups, {uname: item.unit.uname})
	          return selected.length ? selected[0].uname : ' ';
	        }else{
	        	return item.unit.uname || ' ';
	        } 
	     };

然后今晚遇上了坑,点击编辑的时候下拉框的默认值为空,找了好久没有发现原因,最后才发现,从后台传来的json中没有编辑前的那个值,所以下拉框默认为空

记录一下mybites返回主键


		insert into unit (uname,ucity,uadress,upeople,uphone,ustatus)values(#{uname},#{ucity},#{uadress},#{upeople},#{uphone},#{ustatus});
	

useGeneratedKeys 是指使用返回主键 keyProperty返回主键赋予的属性
插入完成后,直接使用

unit.getUid()

也就是直接返回实体的主键类型就可以得到保存在数据库中的主键