需求要求實(shí)現(xiàn)用彈出層發(fā)送郵件。提交后層關(guān)閉,程序再服務(wù)器端響應(yīng)。
?
JSON 插件提供了一種名為json的ResultType,一旦為某個(gè)Action指定了一個(gè)類型為json的Result,則該Result無需映射到任何視圖資源。因?yàn)镴SON插件會(huì)負(fù)責(zé)將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù),并將該數(shù)據(jù)返回給客戶端頁面的JavaScript?。
?
簡單地說,JSON插件允許我們在JavaScript中異步調(diào)用Action,而且Action不再需要使用視圖資源來顯示該Action里的狀態(tài)信息,而是由JSON插件負(fù)責(zé)將Action里的狀態(tài)信息返回給調(diào)用頁面——通過這種方式,就可以完成
Ajax
交互。
1、將struts2的json插件加入web工程的lib,jsonplugin的下載地址:
http://code.google.com/p/jsonplugin/downloads/list
2、struts.xml添加專為ajax使用的package?
?
<
package
name
="ajax"
extends
="json-default"
>
????????
<
action
name
="ajaxRequest"
? class
="org.david.struts2.HelloWorld"
>
????????????
<
result
type
="json"
></
result
>
????????
</
action
>
</
package
>
????????
?????????????
3、在頁面中引入?
jquery的js文件庫
???????
???
<
SCRIPT
type
="text/javascript"
src
="js/jquery-1.2.6.min.js"
></
script
>
?
<
SCRIPT
type
="text/javascript"
>
????????????
function
clickButton()
????????????
{????
????????????????
var
url
=
'ajaxRequest.action';
????????????????
var
params
=
{
??????????????????????? name:$('#name').attr('value'),
?????????????????????????? contactEmail:$('#contactEmail').attr('value'),
?????????????????????????? subject:$('#subject').attr('value'),
?????????????????????????? content:$('#content').attr('value')
????????????????
????????????????????? ?}
; //通過id獲得輸入值
???????????????? jQuery.post(url, params, callbackFun, 'json');
??????
???????????????} //url:響應(yīng)aciton;params:傳入?yún)?shù);callbackFun:響應(yīng)完成后的回調(diào)函數(shù);
????????????
???????????
????
function
callbackFun(data)
????????????
{
???????????????? alert("SUCCESS");
???
???????????? }
?????
</
SCRIPT
>
4、action邏輯與普通的ation寫法無大區(qū)別。
???? JSON將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù),還不是很理解
???
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
