开发者学堂课程【Java Web开发系列课程 - Struts2框架入门:使用 ServletApi 实现 ajax】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/537/detail/7326
使用 ServletApi 实现 ajax
一、使用 ServletApi 实现 ajax
我们来写个案例,把17struts2_bath 复制一下,
改成18struts2_ajax
再将 BatchAction.java 和 UserAction.java 删除
再把 batchObject.jsp 和 hobbies.jsp 删除
然后把 jquery 导过来,这个步骤和之前讲的一样。
现在编辑 Ajax.jsp
Ajax.jsp
<script type="text/javassript”src.="js./jauenx-1.11.3.js."></script>
<script type= "text/jaxassnipt">
$(funetionl){
$( '#btn!).click(function(){
$.post( "aiax-action" ,function(data){
$('#msg')- html( data) ;
}
);
});
});
</script>
</head>
<body>
<input type="button" id="btn" value="获取aiax,信息"/>
<h3 id="msg"></h3>
</body>
当 Ajax.jsp 写好之后,我们要发送请求,它会去到 action,我们再建一个 AjaxAction
所有的 ajax 请求我们都可以向上述情况去处理。
public class AjaxAction
{
public string execute( ) throws IOExseption
Http
S
er
v
letResponserespresp
=
Ser
v
let
A
ction
C
ontext ·
g
etResponss();
r
esp
.
s
etCharasternsoding("utf-8");
resp-getwriten(). print( " struts a
j
ax");
return nu
ll;
}
}
这个 AjaxAction 就写好了,需要再配置一下
<
struts>
<packagename="default"extends="list-default" namespace=" /"
>
<action name="ajax" class="cn. sxt.action.AjaxAction">
</action>
</package>
<
/struts>
编辑好 struts.xml 后进行发布,要检查能不能获取 ajax 信息
在 struts2里面,可以采用 ServletApi 去实现 Ajax 请求,也就是说,我们会发现struts2是对 servletapi 进行包装,使得 struts2更加方便。
Jsp 页面
<script type="text/javassript”src.="js./jauenx-1.11.3.js."></script>
<script type= "text/jaxassnipt">
$(funetionl){
$( '#btn!).click(function(){
$.post( "aiax-action" ,function(data){
$('#msg')- html( data) ;
}
);
});
});
</script>
</head>
<body>
<input type="button" id="btn" value="获取aiax,信息"/>
<h3 id="msg"></h3>
</body>
Action 代码
public class AjaxAction
{
public string execute( ) throws IOExseption
Http
S
er
v
letResponseresp resp
=
Ser
v
let
A
ction
C
ontext ·
g
etResponss();
r
esp
.
s
etCharasternsoding("utf-8");
resp-getwriten().print( " struts aiax");
return null
;
}
}
Struts.xml 配置文件
<package name="default" extends="list-default" namespace=" /"
>
<action name="ajax" class="cn. sxt.action.AjaxAction">
</action>
</package>