Struts2中的Ajax开发方法是什么
本篇内容介绍了“Struts2中的Ajax开发方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在鹿寨等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站建设 网站设计制作按需策划,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸网站建设,鹿寨网站建设费用合理。
首先不谈Struts2的原生支持,我们自己写一个ajax示例,使用异步请求,直接请求action动作:
InfoAction.java
packagecn.codeplus.action;importcom.opensymphony.xwork2.ActionSupport; publicclassInfoAction extendsActionSupport {privatestaticfinallongserialVersionUID =1359090410097337654L; publicString loadInfo() {returnSUCCESS; } }
InfoAction仅仅是简单的返回"success"。
index.jsp
"> 获取
index.jsp包含一个按钮,点击按钮则会触发异步请求事件。
struts.xml
/info.jsp
可见上面的异步请求的结果将会是加载info.jsp,info.jsp只是一个简单网页,不列出了。
运行效果如下:

单击获取之后:

此时的页面源代码:

标签中嵌套了
标签,不符合规范,其实我们只要吧info.jsp写的没有<title>之类的标签,就不会出现这种情况了。</p><p>以上说的异步请求仅适用于请求单个文件,如果我们请求的是动态数据,并且数据需要以JSON格式返回,上面的方法将会显得力不从心,这是struts2的原生支持就得出马了。</p><p>使用struts2的ajax,必须在项目中引入struts2-json-plugin-2.2.1.jar,在版本2.1.7+都一句绑定在struts2发行包里面了(之前的版本可以在这下载)。记住,要引入struts2-json-plugin-2.2.1.jar。</p><p>这次我们使用另一个例子,模拟加载评论:</p><p>dto对象,Comment.java</p><pre>packagecn.codeplus.po; publicclassComment { privatelongid;privateString nickname;privateString content;publiclonggetId() {returnid; } publicvoidsetId(longid) {this.id =id; } publicString getNickname() {returnnickname; } publicvoidsetNickname(String nickname) {this.nickname =nickname; } publicString getContent() {returncontent; } publicvoidsetContent(String content) {this.content =content; } }</pre><p>新的InfoAction.java </p><pre>packagecn.codeplus.action; importjava.util.ArrayList;importjava.util.List; importcn.codeplus.po.Comment; importcom.opensymphony.xwork2.ActionSupport; publicclassInfoAction extendsActionSupport { privatestaticfinallongserialVersionUID =1359090410097337654L; privateList<Comment>comments =newArrayList<Comment>();//没getter and setter方法的属性不会被串行化到JSON @SuppressWarnings("unused") privateString title;//!!!使用transient修饰的属性也会被串行化到JSONprivatetransientString content;publicString loadInfo() { title="123木头人"; content="你是木头人,哈哈。"; loadComments();returnSUCCESS; }/*** 加载留言信息*/ privatevoidloadComments() { Comment com1 =newComment(); com1.setContent("很不错嘛"); com1.setId(1); com1.setNickname("纳尼"); Comment com2 =newComment(); com2.setContent("哟西哟西"); com2.setId(2); com2.setNickname("小强"); comments.add(com1); comments.add(com2); }publicList<Comment>getComments() {returncomments; }publicvoidsetComments(List<Comment>comments) {this.comments =comments; }publicstaticlonggetSerialversionuid() {returnserialVersionUID; }publicString getContent() {returncontent; }publicvoidsetContent(String content) {this.content =content; } } index.jsp还是那个index.jsp。(*^__^*) 嘻嘻…… struts.xml变化挺大: <package name="ajaxDemo"extends="json-default"> <action name="loadInfo"class="cn.codeplus.action.InfoAction"method="loadInfo"> <result name="success"type="json"></result> </action> </package></pre><p>在struts.xml中:</p><p>首先,package extends由struts-default转变为json-default,这是必须的,只用在json-default中才包含下面使用的result type为 json。</p><p>然后就是result类型需显示指明为json,result标签内,无需指明视图指向的界面。</p><p>***就是运行结果啦:</p><p>点击“获取”按钮之后:</p><p><img src="/upload/otherpic72/461490.jpg" alt="Struts2中的Ajax开发方法是什么"></p><p>可见comments对象和content对象都被串行化到JSON数据了,不知道是不是版本的问题,很多资料都说使用transient修饰的属性不会被串行化到JSON的。</p><p>为了使content对象不被串行化到JSON,在不能舍弃其getter setter方法的时候,我们可以这样在content的getter方法上面加上注解:@JSON(serialize=false)</p><pre>... @JSON(serialize=false)publicString getContent() {returncontent; }publicvoidsetContent(String content) {this.content =content; } ...</pre><p>这时的结果如下:</p><p><img src="/upload/otherpic72/461492.jpg" alt="Struts2中的Ajax开发方法是什么"></p><p>@JSON和json类型的result都还有很多可选项,无非就是串行化谁,不串行化谁,返回数据的MIME类型,读者可以自行参考相关文档。</p><p>“Struts2中的Ajax开发方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!</p>
<br>
网站名称:Struts2中的Ajax开发方法是什么 <br>
本文地址:<a href="http://www.xjjierui.cn/article/pejegd.html">http://www.xjjierui.cn/article/pejegd.html</a>
</div>
</div>
<div class="other">
<h3>其他资讯</h3>
<ul>
<li>
<a href="/article/dhoihp.html">Linux初始化系统盘后重新挂载数据盘方法-创新互联</a>
</li><li>
<a href="/article/dhogoj.html">修改OpenDistroforElasticsearc-创新互联</a>
</li><li>
<a href="/article/dhogds.html">shiro缓存机的示例分析-创新互联</a>
</li><li>
<a href="/article/dhogoh.html">Vmware+Centos7怎么搭建Openstack环境-创新互联</a>
</li><li>
<a href="/article/dhoijs.html">顶级域名的优势是什么-创新互联</a>
</li> </ul>
</div>
</div>
<footer>
<div class="message">
<div class="mess container">
<p>免费获取网站建设与品牌策划方案报价</p>
<span>*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上优众联杰。</span>
<form action="">
<input type="text" class="ipt1" placeholder="联系人">
<input type="text" class="ipt2" placeholder="联系电话">
<textarea name="" id="" placeholder="内容描述:描述您的需求,如网站、微信、电商、APP等。"></textarea>
<a href="">提交需求</a>
</form>
</div>
</div>
<div class="footA">
<div class="footAs container">
<ul>
<h3>联系我们</h3>
<b>028-86922220</b>
<li>手机:13518219792</li>
<li>地址:成都市太升南路288号锦天国际A幢1002号</li>
<li class="hr1"></li>
<li>24小时服务热线:028-86922220</li>
</ul>
<ul>
<h3>网站建设服务</h3>
<li>网页设计</li>
<li>网站制作</li>
<li>网站开发</li>
</ul>
<ul>
<h3>网站推广服务</h3>
<li>营销网站建设</li>
<li>百度快速排名</li>
<li>整站网站推广</li>
</ul>
<ul>
<h3>网站运维服务</h3>
<li>基础维护</li>
<li>网站改版</li>
<li>网站维护</li>
</ul>
<ul>
<h3>FOLLOW US</h3>
<li class="hr2"></li>
<li>
<dd class="fl"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd>
<dd class="fr"><img src="/Public/Home/img/ewm.png" alt=""><p>微信二维码</p></dd>
</li>
</ul>
</div>
<div class="link container">
友情链接:
<a href="https://www.cdcxhl.com/app.html" title="app软件定制开发" target="_blank">app软件定制开发</a> <a href="http://www.swwzsj.com/" title="成都精神堡垒定制" target="_blank">成都精神堡垒定制</a> <a href="http://www.cdcyfdjwb.com/" title="成都发电机维保公司" target="_blank">成都发电机维保公司</a> <a href="http://www.csruijie.cn/" title="成都公司转让" target="_blank">成都公司转让</a> <a href="http://www.gzzbrs.cn/" title="天泽尚品" target="_blank">天泽尚品</a> <a href="http://www.ysfdjzl.com" title="营山发电机租赁" target="_blank">营山发电机租赁</a> <a href="http://www.yunjinzhai.com/" title="云锦斋建筑" target="_blank">云锦斋建筑</a> <a href="http://www.hlhk555.cn/" title="航龙航空" target="_blank">航龙航空</a> <a href="http://www.lingaogroup.com.cn/" title="食品包装袋设计" target="_blank">食品包装袋设计</a> <a href="http://www.dyxfdj.com/" title="大邑柴油发电机出租" target="_blank">大邑柴油发电机出租</a> </div>
</div>
<div class="footB">
<div class="container">
<div class="fl">
Copyright © 2022 成都优众联杰科技有限公司 新津网站建设公司-选网站建设公司优众联杰!国内专业的网站制作公司!
</div>
<div class="fr">
All Rights Reserved 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2024116266号-4</a>
</div>
</div>
</div>
</footer>
</body>
</html>
<script>
$(".con img").each(function(){
var src = $(this).attr("src"); //获取图片地址
var str=new RegExp("http");
var result=str.test(src);
if(result==false){
var url = "https://www.cdcxhl.com"+src; //绝对路径
$(this).attr("src",url);
}
});
window.onload=function(){
document.oncontextmenu=function(){
return false;
}
}
</script>