struts2 action怎么进行网路交互

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&struts2后台与界面数据交互
1、从界面到后台
无论是用form标签的action属性提交:
还是使用超链接:
还是使用ajax:
type:"post",
url:"/WithView/actionName",
data:{username:account,password:password},
success:function(msg){
if(msg=="0"){
window.location.href="/WithView/mainPage.";
$("#loginToolTip").("账号或密码错误!");
从界面到后台,那action的方法中必须有(变量名和传递过来的参数名需一致,那么调用action的时候就会自动将参数赋&#20540;到这些变量中):
public String getUsername() {
public void setUsernme(String usename) {
this.username =
public String getPassword() {
public void setPassword(String password) {
this.password =
}2、从后台到界面(使用标签):
注意:使用struts2标签需要在界面加上:
一样的,名字要一样:
<input value=""/>
<input value=""/>
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&Struts2整合jquery利用json与后台交互-jquery-电脑编程网Struts2整合jquery利用json与后台交互作者:lianxia114112 和相关&&
Struts2整合利用json与后台交互
总觉得写个实例更容易理解,这个例子是通过帐号密码查出一个类然后将一个实体类由json格式返回。
环境是由eclipse搭建
Json需要的包
commons-beanutils.jar
commons-collections-3.2.jar
commons-lang.jar
commons-logging-1.1.1.jar
ezmorph-1.0.3.jar
json-lib-2.1-jdk15.jar
struts2-json-plugin-2.2.1.1.jar
struts需要的包
…………
项目名strutsJquery
1.Web.xml配置
&?xml version="1.0" encoding="UTF-8"?&
&web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://./xml/ns/ee" xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"&
& &filter&
&&& &filter-name&struts2&/filter-name&
&&& &filter-class&org..struts2.dispatcher.FilterDispatcher&/filter-class&
& &/filter&
& &filter-mapping&
&&& &filter-name&struts2&/filter-name&
&&& &url-pattern&/*&/url-pattern&
& &/filter-mapping&
&/web-app&
2.建立Index.
&%@ 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"&
&html&
&head&
&meta http-equiv="Content-Type" content="text/ charset=UTF-8"&
&title&Insert title here&/title&
&script type="text/javascript" src="js/.js"&&/script&
&script type="text/javascript"&
$(function(){
$("#sub").click(function(){
//将form表单中的数据一同序列化,以便传递到后台
var params = $("#reg").serialize();
//通过getjson方法与后台经行交互
$.getJSON("reg.action",params,function(text){
var rs = $.parseJSON(text);
//注意这里的rs.data 的 data 是在后台定义的
//返回的val是一个json格式的对象即{"data":[{"id":1,"pwd":"123","uname":"qwe"}]}
$.each(rs.data,function(key,val){
$("#vie").append("&tr class=gg&&td&"+val.id+"&/td&&td&"+val.uname+"&/td&&td&"+val.pwd+"&/td&&/tr&");
});
});
/*
第二种方式
$.({
&&&&&&&&&&& url: "reg",
&&&&&&&&&&& // 数据发送方式
&&&&&&&&&&& type: "post",
&&&&&&&&&&& // 接受数据格式
&&&&&&&&&&& dataType : "json",
&&&&&&&&&&& // 要传递的数据
&&&&&&&&&&& data : params,
&&&&&&&&&&& // 回调函数,接受端返回给客户端的值,即result值
&&&&&&&&&&& success : function(result){
&&&&&&&&&&&
//测试result是否从端返回给客户端
&&&&&&&&&&&&&&& //alert(result);
&&&&&&&&&&&&&&& //解析json对象
&&&&&&&&&&&&&&&& var re = eval("("+result+")");
&&&&&&&&&&&&&&&& alert(re);
&&&&&&&&&&&&&&&& for(var i=0;i&re.data.i++){
&&&&&&&&
&&&&&&& $("#vie").append("&tr class=gg&&td&"+re.data[i].id+"&/td&&td&"+re.data[i].userName+"&/td&&td&"+re.data[i].passwd+"&/td&&/tr&");
&&&&&&&&&&&&&&&& }
&&&&&&&&&&& }&
&&&&&&& }); */
});
});
&/script&
&/head&
&body&
&form action="reg.action" id="reg" mothod="post"&
&table&
&tr&&td&用户名:&input type="text" name="bean.uname"/&&/td&&/tr&
&tr&&td&密码:&input type="password" name="bean.pwd"/&&/td&&/tr&
&tr&&td&&input type="button" value="提交" id="sub"&&/td&&/tr&
&/table&
&hr&
&table id="vie" class="tt"&
&&& &tr&
&&&&& &td&id&/td&
&&&&& &td&用户名&/td&
&&&&& &td&密&&&& 码&/td&
&&& &/tr&&
& &/table&
&/form&
&/body&
&/html&
3.Struts.xml
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE struts PUBLIC
&&& "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
&&& "http://struts..org/dtds/struts-2.0.dtd" &
&!-- 配置struts2根元素 --&
&struts&
&!--json-default 内部继承 struts-default --&
&& &package name="userReg" extends="json-default"&
&&&& &action name="reg" class="com.strutsJquery.action.RegAction"&
&&&&&&& &result type="dispatcher"&/index.&/result&&&&&&&&&
&&&&&&& &result name="input"&/reg.jsp&/result&& &!-- 如果要在validate方法返回result,那么type属性也应该设置为json --&
&&&&&&& &result name="error"&/error.jsp&/result&
&&&&&&& &!-- 注意type为json --&&&&&&&&
&&&&&&& &result type="json" name="success"&
&&&&&&&&&&&&&&& &!-- 此处将reslut的值返回给客户端,root的值对应要返回的值的属性result (注意:root为固定写法,否则不会把result的值返回给客户端,result由action中返回) --&
&&&&&&&&&&&&&&& &param name="root"&result&/param&
&&&&&&& &/result&&&&&&&&&&&&&&
&&&& &/action&
&& &/package&
&/struts&&
4. com.strutsJquery.action.RegAction
package com.strutsJquery.
import java.util.ArrayL
public class RegAction extends ActionSupport {
//表单formBean
private UserI
//json结果集&&& 对应struts.xml中的result
private S
public UserInfo getBean() {
}
public void setBean(UserInfo bean) {
this.bean =
}
public String getResult() {
}
public void setResult(String result) {
this.result =
}
public String execute() throws Exception{
System.out.println("userName:& "+bean.getUname());
System.out.println("passwd:& "+bean.getPwd());
/*连接拿值就不写了&&& 下面模拟从得到很多值*/
List&UserInfo& list = new ArrayList&UserInfo&();
UserInfo ui=new UserInfo();
ui.setId(1);
ui.setUname(bean.getUname());
ui.setPwd(bean.getPwd());
list.add(ui);
/*JsonMetaDate是Util包里面自己写的一个类 */
JsonMetaData.getJsonResult(list);
System.out.println(JsonMetaData.getJsonResult(list));
this.result = JsonMetaData.getJsonResult(list);
return SUCCESS;
&&& //return service.service(getBean())? SUCCESS : ERROR;
}
}
5. com.strutsJquery.entity.UserInfo
package com.strutsJquery.
public class UserInfo {
private S
private S
public int getId() {
}
public void setId(int id) {
this.id =
}
public String getUname() {
}
public void setUname(String uname) {
this.uname =
}
public String getPwd() {
}
public void setPwd(String pwd) {
this.pwd =
}
}
<.strutsJquery.util.JsonMetaData
package com.strutsJquery.
import java.util.L
import net.sf.json.JSONA
import net.sf.json.JSONO
public class JsonMetaData {
&& public static String getJsonResult(List&?& list){
&& JSONObject json = new JSONObject();
&& JSONArray array = new JSONArray();
//将得到的list转换为json格式
&&& if(list!=null&&list.size()!=0){
&&&
for(int i=0;i&list.size();i++){
// JSONObject.fromObject()将一个类转换成json格式
&&&
array.add(JSONObject.fromObject(list.get(i)));
&&&
}
//put进json里面并给个对象名data,也就是前台jsp页面用到的data
&&&
json.put("data", array);
&&& }else{
&&&
&&& }
//返回json格式的字符串
&&& return json.toString();
&& }
}
最后的效果
既然类都可以从后台传过来,就可以做出很多很好的AJAX效果啦……
相关资料:|||||||Struts2整合jquery利用json与后台交互来源网络,如有侵权请告知,即处理!编程Tags:                &                    struts2怎么进行网路交互_百度知道
struts2怎么进行网路交互
提问者采纳
rmi等等技术,Webservice。。网络交互的话可以使用soket。struts2跟网络交互没有关系
来自团队:
其他类似问题
为您推荐:
struts2的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 struts2 action 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信