struts2本身对ajax技术提供了强有力的支持,用户只需一些简单的配置,就完成了异步交互。代码如下:
首先,任意的一个jsp页面,用于提交表单:
- <s:form action="login" method="post">
- <div id="show"></div>
- <s:textfield name="name" label="用户名" id="name"></s:textfield>
- <s:textfield name="password" label="密码" id="password"></s:textfield>
- <input id="loginbt" type="button" value="提交"/>
- </s:form>
接下来在项目web-root下新建js文件夹,加入:jquery.js文件,再新建ajax.js文件。代码如下:
- $(document).ready(function()
- {
-
- $("#password").blur(function()
- {
- var name=$("#name").val();
- var password=$("#password").val();
- $.post("login.action", { name: name, password: password },
- function(data){
- $("#show").html(data);
- });
-
-
- });
-
-
- });
Action类,代码:
- package com.guang.action;
-
- import java.io.ByteArrayInputStream;
- import java.io.InputStream;
-
- import com.opensymphony.xwork2.ActionSupport;
-
- public class LoginAction extends ActionSupport{
-
- private String name;
-
- private String password;
-
- private InputStream inputStream;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public InputStream getResult(){
-
- return inputStream;
-
- }
-
- @Override
- public String execute() throws Exception {
-
- System.out.println(name+password);
- inputStream =name.equals("guangge") && password.equals("123456")
- ? new ByteArrayInputStream("恭喜你登录成功!".getBytes("UTF-8"))
- : new ByteArrayInputStream("对不起用户名和密码不匹配!".getBytes("UTF-8"));
-
- return SUCCESS;
-
-
- }
-
- }
上面的代码,与其他的action类不一样的,是
private InputStream inputStream;
public InputStream getResult(){
return inputStream;
}
其他的都差不多。
配置文件:struts.xml文件:
- <package name="login" extends="struts-default">
-
- <action name="login" class="com.guang.action.LoginAction">
- <result name="success" type="stream">
- <param name="contentType">text/html</param>
- <param name="inputName">result</param>
- </result>
- <result name="login">/index.jsp</result>
- </action>
- </package>
现在,一起都OK了/希望对你有帮助。
分享到:
相关推荐
以下是对Struts2实现Ajax的详细解释: 1. **Ajax基础**: Ajax的核心是通过JavaScript异步发送HTTP请求到服务器,获取数据,然后在客户端更新DOM(Document Object Model)以实现局部刷新。这使得用户界面更加响应...
1. **使用Struts2内置的AJAX插件**:Struts2提供了一个名为`struts2-jquery-plugin`或`struts2-convention-plugin`的插件,它包含了一系列预定义的JQuery动作和标签,可以直接在视图层使用。例如,`sj:a`标签可以...
Struts2提供了对JSON的支持,可以通过配置Action类或struts.xml文件来使Action返回JSON响应。 实现jQuery和Struts2结合处理JSON的步骤大致如下: 1. **前端准备**:在HTML页面中引入jQuery库,并编写Ajax请求代码...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
Struts2提供了内置的Ajax支持,主要是通过JQuery插件来实现的。这个插件允许我们在不刷新整个页面的情况下更新部分网页内容,从而实现页面的局部刷新。在Struts2的配置文件(struts.xml)中,我们需要导入相关的Ajax...
为了满足这一需求,Struts2框架提供了强大的AJAX支持,使得开发人员能够轻松地在应用程序中集成AJAX功能。Struts2通过其内置的AJAX标签库,使得添加交互性和灵活性如同使用标准的Struts标签一样简单。这不仅提高了...
在Struts2中,可以使用Struts2内置的Ajax插件或者jQuery等库来简化Ajax请求的编写。例如,使用jQuery的`$.ajax()`函数,可以轻松地发起一个HTTP请求,获取JSON数据,并在回调函数中进行处理。 "struts2 json Ajax ...
Struts 2具有诸多优点,如易于集成其他技术(如Spring、Hibernate等)、内置拦截器机制、强大的表单处理能力等。 #### 二、Struts 2与Ajax结合的意义 在Web 2.0时代,用户对于Web应用的体验有了更高的要求,传统的...
为了实现Ajax请求,我们可以使用Struts 2的内置标签库,特别是`sj:a`(.struts2-jquery-tags)和`s:a`(.struts2-core-tags)这两个标签。`sj:a`是专门为Ajax请求设计的,而`s:a`可以通过设置属性来触发Ajax行为。 ...
在Struts2框架中,我们可以利用内置的插件或自定义拦截器来实现Ajax请求。 接下来是`JSON`(JavaScript Object Notation),它是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON能...
S2JS允许开发者更方便地在Struts 2中使用Ajax技术,它提供了一种更为简洁的方式来处理Ajax请求,并且内置了对JSON的支持,使得数据传输更为高效。 #### 结论 通过使用Ajax Taglibs,我们可以在Struts应用程序中...
2. Struts2对AJAX的支持 Struts2提供了内置的JSON支持,允许Action的响应以JSON格式返回。下面是一个使用jQuery进行AJAX请求的示例: ```javascript function getClick() { var params = {name : $("#xm").val(),...
描述中提到的"stuts不支持ajax是因为缺少此插件",这表明Struts2本身并没有内置的AJAX处理机制,需要通过安装额外的插件来实现。"换个高级版本好像会失败"可能是指升级到更新版本的Struts2时,某些旧版插件可能不再...
5. **Struts2插件支持**:Struts2提供了对Ajax的插件支持,如struts2-jquery-plugin和struts2-json-plugin。这些插件简化了Ajax集成,提供了预定义的标签和功能,如`<sj:a>`标签用于创建Ajax链接,`<sj:submit>`用于...
Struts2提供了一个内置的JSON插件,使得我们可以方便地将Java对象转换为JSON格式并返回给客户端。在Struts2的配置文件`struts.xml`中,我们有以下配置: ```xml <param name="root">obj</param> // 设定json...
- **JsonResult**: Struts2提供了一个内置的结果类型`json`,可以直接将Action的返回对象转换为JSON格式,便于Ajax请求处理。 - **JQuery Plugin**: Struts2提供了JQuery插件,简化了与Ajax的交互,包括`struts2-...
Struts 2框架提供了内置的支持来处理JSON和AJAX请求,使得开发者可以轻松地将这些技术整合到他们的应用中。 启用Struts 2中的JSON AJAX支持主要涉及以下几个步骤: 1. **配置Struts 2 JSON插件**: 首先,需要在...
结合JSON、Struts2和Ajax,我们可以创建高效的Web应用程序,通过以下步骤: 1. **创建Struts2 Action类**:在Java中定义一个Action类,这个类将处理客户端的请求,执行相应的业务逻辑。Action类需要继承自Struts2...
1. **使用Struts2的内置Ajax插件**:Struts2提供了一个名为Struts2 jQuery插件或Struts2 AJAX插件,它们提供了许多预定义的Ajax行为和标签,如`<s:ajax>`,可以直接在JSP页面中使用,简化Ajax的实现。例如: ```jsp...