cad手机图纸算量软件件

首先,我这个程序的框架是spring+struts2+hibernate。
后端的action的需要接受从前端传进来的参数,由spring的注入,可知,如果前端用的是form的话,只需要在每个input的name中,使用action中定义的
注入对象的属性,那么提交时,Spring可以识别,并将其内容注入到action中定义的对象中。
例如:在后台的action有下面这个变量
在前端的form中 有如下定义:
&input name="user.username"/&
那么,在表单提交后,Spring会自动注入前端的值。即user对象由Spring实例化。后台直接使用。
这种情况还是比较简单的。
如果前端不采用form,而是使用jquery,来提交。(当然不能用jquery提交表单)
这里我采用了ajax的方法提交对象给后台的action。采用json数据格式,传递过去,再由Spring自动注入。
其实需要做的事很简单,就是将数据包装成一个json数据,其中里面的内容和form的name的格式差不多。
具体见下面的代码
$("#submitButton").click(function(){
var username=$("#username").val();
var password=$("#password").val();
var user={"user.username":username,"user.password":password};//这里,就是将数据封装成json
type: "POST",
cache: false,
dataType:"json",
url: "user/user_validateUser" ,
action中的定义:
public String validateUser()
System.out.print("user checking!!!"+user.getUsername());
return "list";
阅读(...) 评论()当前位置: →
→ jquery中ajax向action传递对象参数,json ,spring注入对象
jquery中ajax向action传递对象参数,json ,spring注入对象
& 作者及来源: shenghaishiweini - 博客园 &
&收藏到→_→:
摘要: jquery中ajax向action传递对象参数,json ,spring注入对象
"jquery中ajax向action传递对象参数,json ,spring注入对象"::
首先,我这个程序的框架是spring+ 2+ 。
后端的action的需要接受从前端传进来的参数,由spring的注入,可知,如果前端用的是form的话,只需要在每个input的name中,使用action中定义的
注入对象的属性,那么提交时,spring可以识别,并将其内容注入到action中定义的对象中。
例如:在后台的action有下面这个变量
在前端的form中 有如下定义:
&input name="user.username"/&
那么,在表单提交后,spring会自动注入前端的值。即user对象由spring实例化。后台直接使用。
这种情况还是比较简单的。
如果前端不采用form,而是使用 ,来提交。(当然不能用 提交表单)
这里我采用了ajax的 提交对象给后台的action。采用 on数据格式,传递过去,再由spring自动注入。
其实需要做的事很简单,就是将数据包装成一个 on数据,其中里面的内容和form的name的格式差不多。
具体见下面的代码
$("#submitbutton").click(function(){
var username=$("#username").val();
var pass =$("#pass ").val();
var user={"user.username":username,"user.pass ":pass };//这里,就是将数据封装成 on
type: "post",
cache: false,
datatype:" on",
url: "user/user_validateuser" ,
action中的定义:
public string validateuser()
system.out.print("user checking!!!"+user.getusername());
return "list";
&搜索此文相关文章: 中ajax向action传递对象参数, on ,spring注入对象此文来自: 马开东博客
网址: 站长QQ
jquery中ajax向action传递对象参数,json ,spring注入对象_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜6588人阅读
jQuery(8)
前后台数据交互一般都用json格式,后台可以直接将json对应转化为实体对象。方便以后的操作。jQuery向后台传数据的时候,我们会发现他会自动转化成查询字符串,不能真正传入一个json。而且用jquery对表单序列化的时候,返回的格式是一个数组,还需要作进一步转换。其实只要我们在ajax方法中配置一些东西就可以完成。代码如下:
&form id=&ff&&
&input type=&text& name=&test1&/&
&input type=&text& name=&test2&/&
&input type=&text& name=&test3&/&
&input type=&text& name=&test4&/&
&input type=&button& id=&save& value=&save&/&
$(&#save&).on(&click&, function () {
var params = $(&#ff&).serializeArray();
var j = {};
for (var item in params) {
j[params[item].name] = params[item].
url:'index.html',
data:JSON.stringify(j),
type:'post',
dataType:'json',
Accept:&application/json&,
&Content-Type&:&application/json&
processData:false,
cache:false
}).done(function (data) {
如果在chrome看到如图的显示格式,说明传入到后台的就是json格式
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:120311次
积分:1473
积分:1473
排名:千里之外
原创:30篇
评论:18条
(1)(1)(1)(1)(3)(1)(1)(2)(2)(3)(2)(2)(3)(2)(3)(2)(1)var Utils = {
//通过表单得到数组
getArrayByForm : function (formId) {
var arr = $(formId).serializeArray();
//通过数组得到字符串(多值和单值)后台无需定义数组
getStringByArray : function (array) {
var arr = $.param(array);
//通过数组得到JSON对象(单值)
getJSONByArray : function(arr) {
var obj = {};
$.each(arr,function(name,value){
obj[this.name] = this.
//通过数组得到JSON对象(单值和多值)后台需要定义数组
getJSONByArrayEnhanced : function(arr) {
var obj={};
$(arr).each(function(){ &
& & & & & & &if(obj[this.name]){ &
& & & & & & & & &if($.isArray(obj[this.name])){ &
& & & & & & & & obj[this.name].push(this.value); &
& & & & & & & & &}else{ &
& & & & & & & & obj[this.name]=[obj[this.name],this.value]; &
& & & & & & & & &} &
& & & & & & &}else{ &
& & & & & & obj[this.name]=this. &&
& & & & & & &} &
& & & & &}); &
//通过表单得到json字符串
getStringByForm : function (formId){ & &
& & & & var str = $(formId).serialize(); & &
//通过 json字符串得到JSON对象(单值),
getJSONByStringForSecurity : function(str){ &&
var str=str.replace(/&/g,&\&,\&&);
str=str.replace(/=/g,&\&:\&&);
str = &{\&&+str+&\&}&; &&
var obj = JSON.parse(str);//官方
//通过 json字符串得到JSON对象(单值),有风险
& & getJSONByStringForRisk : function(str){ &
& & & & &var str = str.replace(/&/g,&','&); & &
& & & & &str = str.replace(/=/g,&':'&); & &
& & & & &str = &({'&+str +&'})&; &&
& & & & &var obj = &&;
& & & & &try &{
& & & & obj = eval(str); //不安全会执行json串中的表达式
& & & & &}catch(exception) {
& & & & & & &alert(exception);
& & & & &}
& & & & & & &
& & &//通过 json字符串得到JSON对象(单值和多值),有风险 --完善中
& getJSONByStringEnhanced : function (str) { &
& & &var jsonObj = {}; &
& & &str = str.replace(/\+/g,& &); & // g表示对整个字符串中符合条件的都进行替换 &
& & &var param = str.split(&&&); &
& & &$.each(param,function(name,value){
& & & //alert(name + &----& + value);
& & &for ( var i = 0; param != null && i & param. i++) { &
& & & & &var parai = param[i].split(&=&);
& & & & &for(var j = 1; param != null && j & param. j++) {
var paraj = param[j].split(&=&);
if(parai[1] == paraj[1]) {
jsonObj[parai[0]] = para[1];&
& & & & &}
& & & & &jsonObj[para[0]] = para[1]; &
& & &var temp = JSON.stringify(jsonObj); &
& & &var queryParam = JSON.parse(temp); &
& & &return queryP &
json作为一种轻量级的数据交换格式,在前后台数据交换中占据着非常重要的地位。Json的语法非常简单,采用的是键值对表示形式。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序,也可以从服务器端程序传递json格式的字符串给前端并由前端解释。这个字符串是符合json语法的,而json语法又是javascript语法的子集,所以javascript很容易解释它,而且
JSON 可以表示比&名称 / 值对&更复杂的结构。下面我们通过实例来看看JQuery传递/解析json格式的数据是如何实现的。
1.首先来看前端jsp代码:
&%@ page language=&java& contentType=&text/ charset=UTF-8&
pageEncoding=&UTF-8&%&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&script type=&text/javascript& src=&/springMVC6/js/jquery-1.7.2.js&&&/script&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&Insert title here&/title&
&script type=&text/javascript&&
$(document).ready(function(){
//传递字符串格式json对象到后台(一个json对象)
$(&#resolveJsonObject&).click(function(){
var userName =encodeURI($(&#userName&).attr(&value&));
var age = encodeURI($(&#age&).attr(&value&));
var user = {userName:userName,age:age};
= encodeURI(JSON.stringify(user));
url:&/springMVC6/user/data/resolveJsonObject& ,
data:&orderJson=& + aMenu,
success:function(data){
//传递json数组到后台
$(&#resolveJsonArray&).click(function(){
var userName =encodeURI($(&#userName&).attr(&value&));
var age = encodeURI($(&#age&).attr(&value&));
//数组开始
var user1 = {userName:userName,age:age};
var allMenu={
&menu&:[ ]
allMenu.menu.push(user1);
var allMenu1 = encodeURI(JSON.stringify(allMenu));
//json数组
url:&/springMVC6/user/data/resolveJsonArray& ,
data:&orderJson=& + allMenu1,
success:function(data){
//接收后台的json在前台解析
$(&#resolveJson&).click(function(){
//解析从后台返回的json数据
url:&/springMVC6/user/data/resolveJson& ,
type:&post&,
success:function(data){
var arr=eval(data);
alert(arr.length);
for(var m = 0;m&arr.m++){
alert(arr[m].user.userName);
&h1&json添加用户&/h1&
姓名:&input id=&userName& type=&text& name=&userName&&
年龄:&input id=&age& type=&text& name=&age&&&br&
&input type=&button& id=&resolveJsonObject& value=&json对象&&
&input type=&button& id=&resolveJsonArray& value=&json数组&&
&input type=&button& id=&resolveJson& value=&前端解析json字符串&&
2.使用javabean解析前端数据:
package com.tgb.web.controller.
import java.io.IOE
import java.net.URLD
import java.util.ArrayL
import java.util.L
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import net.sf.json.JSONA
import net.sf.json.JSONO
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import com.tgb.web.controller.entity.U
@Controller
@RequestMapping(&/user/data&)
public class DataController {
//接收前台传过来的字符串格式的json对象,在后台进行解析
@RequestMapping(&/resolveJsonObject& )
public void resolveJsonObject(HttpServletRequest request,HttpServletResponse response) throws IOException {
String str = URLDecoder.decode(request.getParameter(&orderJson&),&UTF-8&);
JSONObject jb=new JSONObject();
//将json格式的字符串转换为json对象,并取得该对象的“userName”属性值
String o=(String)jb.fromObject(str).get(&userName&);
System.out.println(o);
//传递json数组字符串
@RequestMapping(&/resolveJsonArray& )
public void resolveJsonArray(HttpServletRequest request,HttpServletResponse response) throws IOException {
//解码,为了解决中文乱码
String str = URLDecoder.decode(request.getParameter(&orderJson&),&UTF-8&);
JSONObject jb=new JSONObject();
//将json格式的字符串转换为json数组对象
JSONArray array=(JSONArray)jb.fromObject(str).get(&menu&);
//取得json数组中的第一个对象
JSONObject o = (JSONObject) array.get(0);//获得第一个array结果
//取出json数组中第一个对象的“userName”属性值
String name=o.get(&userName&).toString();//获得属性值
System.out.println(name);
//通过该函数返回json格式的数据,在前台通过JQuery进行解析
@RequestMapping(&/resolveJson& )
public void resolveJson(HttpServletRequest request,HttpServletResponse response) throws IOException {
List m = (List) new
ArrayList();
JSONArray jsons = new JSONArray();
for(int i=0;i&10;i++){
User user = new User();
user.setUserName(&name_& + i);
m.add(user);
for(int j=0;j&m.size();j++){
JSONObject jsonObject = new JSONObject();
jsonObject.put(&user&, m.get(j));
jsons.add(jsonObject);
response.getWriter().print(jsons.toString()) ;
@RequestMapping(&/toJson& )
public String toJson() {
return &/json&;
json的作用并不仅仅在于作为字符串在前后台进行传递,我们采用json传递数据的时候更主要的考虑到的是它的传输效率。当两个系统需要进行数据交换的时候,如果传递的是经过序列化的对象,效率是非常低的,如果传递的是存储大量对象的数组的时候效率就更不敢想象了,这时如果通过将对象或数据转换成json字符串进行传递,效率就会提高很多。本文仅针对单系统中前后台数据传输与解析进行讲解,异构系统之间的json传输不在本文讨论范围内,如果读者想亲证,可以通过前文中使用javamelody工具进行测试,参考文章《》。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:155349次
积分:5472
积分:5472
排名:第4091名
原创:390篇
转载:107篇
(1)(4)(3)(7)(10)(3)(5)(131)(1)(9)(14)(14)(2)(1)(34)(226)(6)(30)

我要回帖

更多关于 手机图纸算量软件 的文章

 

随机推荐