java页面上赋值_java中使用json对页面元素赋值

关于json的笔记,写得有点乱,下次有时间我再整理一下。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

var

myFirstJSON

=

...

{

0818b9ca8b590ca3270a3433284dd417.png"firstName":"John",                   

0818b9ca8b590ca3270a3433284dd417.png"lastName":"Doe",                    

0818b9ca8b590ca3270a3433284dd417.png"age":230818b9ca8b590ca3270a3433284dd417.png                  }

;

0818b9ca8b590ca3270a3433284dd417.pngdocument.writeln(myFirstJSON.firstName);

//

Outputs John

0818b9ca8b590ca3270a3433284dd417.png

document.writeln(myFirstJSON.lastName);

//

Outputs Doe

0818b9ca8b590ca3270a3433284dd417.png

document.writeln(myFirstJSON.age);

//

Outputs 23

0818b9ca8b590ca3270a3433284dd417.png

JSONObject jsonObj

=

new

JSONObject();

0818b9ca8b590ca3270a3433284dd417.pngjsonObj.put(

"

name

"

,

"

吉田

"

);

0818b9ca8b590ca3270a3433284dd417.pngJSONArray dep

=

new

JSONArray();

0818b9ca8b590ca3270a3433284dd417.pngdep.put(

"

管理部

"

);

0818b9ca8b590ca3270a3433284dd417.pngdep.put(

"

開発部

"

);

0818b9ca8b590ca3270a3433284dd417.pngdep.put(

"

営業部

"

);

0818b9ca8b590ca3270a3433284dd417.pngjsonObj.put(

"

sex

"

,

"

M

"

);

0818b9ca8b590ca3270a3433284dd417.pngjsonObj.putOpt(

"

department

"

, dep);

0818b9ca8b590ca3270a3433284dd417.pngjsonObj.put(

"

age

"

,

23

);

0818b9ca8b590ca3270a3433284dd417.pngsetJson_xml(jsonObj.toString());

等价于json对象: {"sex":"M","age":23,"name":"吉田","department":["管理部","開発部","営業部"]}

需要一个json的解析类:json-parser.js (注:网上有个叫json.js的开源包,好像具有相同的功能)

(function ($) {

var m = {

'/b': '//b',

'/t': '//t',

'/n': '//n',

'/f': '//f',

'/r': '//r',

'"' : '//"',

'//': ''

},

s = {

'array': function (x) {

var a = ['['], b, f, i, l = x.length, v;

for (i = 0; i < l; i += 1) {

v = x[i];

f = s[typeof v];

if (f) {

v = f(v);

if (typeof v == 'string') {

if (b) {

a[a.length] = ',';

}

a[a.length] = v;

b = true;

}

}

}

a[a.length] = ']';

return a.join('');

},

'boolean': function (x) {

return String(x);

},

'null': function (x) {

return "null";

},

'number': function (x) {

return isFinite(x) ? '"' + String(x) + '"' : 'null';

},

'object': function (x) {

if (x) {

if (typeof x.splice == "function") {

return s.array(x);

}

if (!isNaN(x)) {

return s.number(x);

}

var a = ['{'], b, f, i, v;

for (i in x) {

v = x[i];

f = s[typeof v];

if (f) {

v = f(v);

if (typeof v == 'string') {

if (b) {

a[a.length] = ',';

}

a.push(s.string(i), ':', v);

b = true;

}

}

}

a[a.length] = '}';

return a.join('');

}

return 'null';

},

'string': function (x) {

if (/["

///x00-/x1f]/.test(x)) {

x = x.replace(/([/x00-/x1f//"])/g, function(a, b) {

var c = m[b];

if (c) {

return c;

}

c = b.charCodeAt();

return '//u00' +

Math.floor(c / 16).toString(16) +

(c % 16).toString(16);

});

}

return '"' + x + '"';

}

};

$.toJSON = function(v) {

var f = isNaN(v) ? s[typeof v] : s['number'];

if (f) return f(v);

};

$.parseJSON = function(v, safe) {

if (safe === undefined) safe = $.parseJSON.safe;

if (safe && !/^("(

//.|[^"///n/r])*?"|[,:{}/[/]0-9./-+Eaeflnr-u /n/r/t])+?$/.test(v))

return undefined;

return eval('('+v+')');

};

$.parseJSON.safe = false;

})(jQuery);

测试代码如下:代码基于struts2.(struts2的配置什么的,这里就不细说了+)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

...

@ page contentType="text/html; charset=UTF-8"

%>

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

...

@ taglib prefix="s"uri="/struts-tags"

%>

0818b9ca8b590ca3270a3433284dd417.png

<

html

>

0818b9ca8b590ca3270a3433284dd417.png

<

head

>

0818b9ca8b590ca3270a3433284dd417.png

<

meta

http-equiv

="Content-Type"

content

="text/html; charset=UTF-8"

/>

0818b9ca8b590ca3270a3433284dd417.png

<

script

type

="text/javascript"

src

="js/jquery-1.2.1.pack.js"

>

script

>

0818b9ca8b590ca3270a3433284dd417.png

<

script

type

="text/javascript"

src

="js/json-parser.js"

>

script

>

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

<

script

type

="text/javascript"

>

...

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctionaddOption(objSelectNow,txt,val)...{

0818b9ca8b590ca3270a3433284dd417.png//使用W3C标准语法为SELECT添加Option0818b9ca8b590ca3270a3433284dd417.pngvarobjOption=document.createElement("OPTION");

0818b9ca8b590ca3270a3433284dd417.png            objOption.text=txt;

0818b9ca8b590ca3270a3433284dd417.png            objOption.value=val;

0818b9ca8b590ca3270a3433284dd417.png            objSelectNow.options.add(objOption);

0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctionaddOptionGroup(selectId,optGroupString)...{

0818b9ca8b590ca3270a3433284dd417.pngvaroptGroup=optGroupString.split(",");

0818b9ca8b590ca3270a3433284dd417.pngvarobjSelect=document.getElementsByTagName("SELECT");

0818b9ca8b590ca3270a3433284dd417.pngvarobjSelectNow=objSelect[selectId];

0818b9ca8b590ca3270a3433284dd417.png            objSelectNow.length=1;

0818b9ca8b590ca3270a3433284dd417.png//成组添加Options0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfor(i=0; i

0818b9ca8b590ca3270a3433284dd417.png                addOption(objSelectNow, optGroup[i], optGroup[i]);

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctionbindSelect(e, v)...{

0818b9ca8b590ca3270a3433284dd417.png            $("#"+e).append("请选择");

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            $.each(v,function(k,value)...{

0818b9ca8b590ca3270a3433284dd417.png            $("#"+e).append(""+value[1]+"");

0818b9ca8b590ca3270a3433284dd417.png            });0818b9ca8b590ca3270a3433284dd417.png$("#"+e).val('120000');

0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png        $(document).ready(function()...{

0818b9ca8b590ca3270a3433284dd417.pngvarjson='';

0818b9ca8b590ca3270a3433284dd417.png            json=json.replace(/"/g,'"');

0818b9ca8b590ca3270a3433284dd417.pngvarobj=jQuery.parseJSON(json);

0818b9ca8b590ca3270a3433284dd417.png            $("#textId").val(obj.name);

0818b9ca8b590ca3270a3433284dd417.png            addOptionGroup("selectId", obj.department.join(','));

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png//bindSelect('selectId', data.sf_dm);0818b9ca8b590ca3270a3433284dd417.png//alert($("#selectId").children().eq(1).val());0818b9ca8b590ca3270a3433284dd417.png//alert($("#selectId").children().eq(1).text());0818b9ca8b590ca3270a3433284dd417.png//var option = document.createElement("OPTION");0818b9ca8b590ca3270a3433284dd417.png//option.text = option.value = "1";0818b9ca8b590ca3270a3433284dd417.png//alert(option.value);0818b9ca8b590ca3270a3433284dd417.png//$("#selectId").append("请选择");0818b9ca8b590ca3270a3433284dd417.png//$("#selectId").append('1');0818b9ca8b590ca3270a3433284dd417.png//$("请选择").appendTo("#selectId");0818b9ca8b590ca3270a3433284dd417.png//$('option:eq(1)', "#selectId").attr('text', '这是一个美丽的故事。');0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngif(obj.sex=='M')...{

0818b9ca8b590ca3270a3433284dd417.png                document.getElementById("m_radioId").checked=true;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            }else...{

0818b9ca8b590ca3270a3433284dd417.png                document.getElementById("f_radioId").checked=true;

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png            

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngif(obj.age>20)...{

0818b9ca8b590ca3270a3433284dd417.png                document.getElementById("checkboxId").checked=true;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            }else...{

0818b9ca8b590ca3270a3433284dd417.png                document.getElementById("checkboxId").checked=false;

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            $("#insrow").click(function()...{

0818b9ca8b590ca3270a3433284dd417.pngvartable=document.getElementById("tableId");

0818b9ca8b590ca3270a3433284dd417.pngvarindex=table.rows.length;

0818b9ca8b590ca3270a3433284dd417.pngvartr=table.insertRow(index);

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfor(vari=0; i<5; i++)...{

0818b9ca8b590ca3270a3433284dd417.pngvartd=tr.insertCell(i);

0818b9ca8b590ca3270a3433284dd417.pngvarinput=document.createElement("input");

0818b9ca8b590ca3270a3433284dd417.png                    input.type="text";

0818b9ca8b590ca3270a3433284dd417.png                    input.value="田中";

0818b9ca8b590ca3270a3433284dd417.png                    td.appendChild(input);

0818b9ca8b590ca3270a3433284dd417.png                }0818b9ca8b590ca3270a3433284dd417.png            });

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            $("#delrow").click(function()...{

0818b9ca8b590ca3270a3433284dd417.pngvartable=document.getElementById("tableId");

0818b9ca8b590ca3270a3433284dd417.pngvarindex=table.rows.length;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngif(index<2)...{

0818b9ca8b590ca3270a3433284dd417.png                    alert("No Row To Delete!");

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png                }else...{

0818b9ca8b590ca3270a3433284dd417.png                    table.deleteRow(index-1);

0818b9ca8b590ca3270a3433284dd417.png                }0818b9ca8b590ca3270a3433284dd417.png            });

0818b9ca8b590ca3270a3433284dd417.png        });

0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctiontestTbl()...{

0818b9ca8b590ca3270a3433284dd417.pngvartable=document.getElementById("tableId");

0818b9ca8b590ca3270a3433284dd417.png            table.insertRow(1);

0818b9ca8b590ca3270a3433284dd417.pngvarrows=table.rows[0];

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfor(vari=0; i

0818b9ca8b590ca3270a3433284dd417.pngvarinput=document.createElement("input");

0818b9ca8b590ca3270a3433284dd417.png                input.type="text";

0818b9ca8b590ca3270a3433284dd417.png                input.value="田中";

0818b9ca8b590ca3270a3433284dd417.png                rows.cells[i].appendChild(input);

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctiontestTable()...{

0818b9ca8b590ca3270a3433284dd417.png            $("#tableId").append("

");  

0818b9ca8b590ca3270a3433284dd417.pngvartable=document.getElementById("tableId");

0818b9ca8b590ca3270a3433284dd417.pngvarrows=table.rows;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfor(varrs=0; rs

0818b9ca8b590ca3270a3433284dd417.pngvarcells=rows[rs].cells;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfor(varcs=0; cs

0818b9ca8b590ca3270a3433284dd417.pngvarcell=cells[cs];

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngif(cell.tagName=='TH')...{

0818b9ca8b590ca3270a3433284dd417.pngbreak;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png                    }else...{

0818b9ca8b590ca3270a3433284dd417.png//var txtNode = document.createTextNode("aaaaaaa");0818b9ca8b590ca3270a3433284dd417.pngvarinput=document.createElement("input");

0818b9ca8b590ca3270a3433284dd417.png                        input.type="text";

0818b9ca8b590ca3270a3433284dd417.png                        input.value="田中"0818b9ca8b590ca3270a3433284dd417.png                        cell.appendChild(input);

0818b9ca8b590ca3270a3433284dd417.png                    }0818b9ca8b590ca3270a3433284dd417.png                }0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngfunctiontestSelect()...{

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            $("#selectId").find('OPTION').each(function()...{

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngswitch($(this).attr("value"))...{

0818b9ca8b590ca3270a3433284dd417.pngcase'1':

0818b9ca8b590ca3270a3433284dd417.png                    $(this).text("1");

0818b9ca8b590ca3270a3433284dd417.pngbreak;

0818b9ca8b590ca3270a3433284dd417.pngcase'2':

0818b9ca8b590ca3270a3433284dd417.png                    $(this).text("2");

0818b9ca8b590ca3270a3433284dd417.pngbreak;

0818b9ca8b590ca3270a3433284dd417.pngdefault:

0818b9ca8b590ca3270a3433284dd417.pngbreak;

0818b9ca8b590ca3270a3433284dd417.png                }0818b9ca8b590ca3270a3433284dd417.png            });

0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png

script

>

0818b9ca8b590ca3270a3433284dd417.png

head

>

0818b9ca8b590ca3270a3433284dd417.png

<

body

>

0818b9ca8b590ca3270a3433284dd417.png

<

form

>

0818b9ca8b590ca3270a3433284dd417.png            Name:

<

input

id

="textId"

type

="text"

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png            Department:

<

select

name

="selectId"

>

select

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png            Male:

<

input

type

="radio"

name

="rad"

id

="m_radioId"

>

0818b9ca8b590ca3270a3433284dd417.png            Female:

<

input

type

="radio"

name

="rad"

id

="f_radioId"

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png            Age > 20:

<

input

type

="checkbox"

id

="checkboxId"

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png

<

br

>

0818b9ca8b590ca3270a3433284dd417.png

<

input

type

="button"

id

="insrow"

value

="行追加"

>

0818b9ca8b590ca3270a3433284dd417.png

<

input

type

="button"

id

="delrow"

value

="行削除"

>

0818b9ca8b590ca3270a3433284dd417.png

<

table

width

="483"

height

="35"

border

="1"

id

="tableId"

>

0818b9ca8b590ca3270a3433284dd417.png

<

tr

>

0818b9ca8b590ca3270a3433284dd417.png

<

th

>

Text

th

>

0818b9ca8b590ca3270a3433284dd417.png

<

th

>

Radio

th

>

0818b9ca8b590ca3270a3433284dd417.png

<

th

>

Checkbox

th

>

0818b9ca8b590ca3270a3433284dd417.png

<

th

>

Select

th

>

0818b9ca8b590ca3270a3433284dd417.png

<

th

>

TextArea

th

>

0818b9ca8b590ca3270a3433284dd417.png

tr

>

0818b9ca8b590ca3270a3433284dd417.png

table

>

0818b9ca8b590ca3270a3433284dd417.png

form

>

0818b9ca8b590ca3270a3433284dd417.png

body

>

0818b9ca8b590ca3270a3433284dd417.png

html

>

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值