-
关于整合struts2与json问题15
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" namespace="/" extends="json-default"> <action name="returnMsg" class="devmon.action.TestAction" method="returnMsg"> <result type="json"> <param name="root">validate</param> </result> </action> <action name="returnUser" class="devmon.action.TestAction" method="returnUser"> <result type="json"> <param name="includeProperties">userInfo\.userId,userInfo\.userName,userInfo\.password</param> </result> </action> <action name="returnList" class="devmon.action.TestAction" method="returnList"> <result type="json"> <param name="includeProperties">userInfosList\[\d+\]\.userName,userInfosList\[\d+\]\.password</param> </result> </action> </package> </struts>
package devmon.action; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import org.apache.struts2.json.annotations.JSON; import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { private String message; //使用json返回单个值 private UserInfo userInfo; //使用json返回对象 private List userInfosList; //使用josn返回List对象 public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } public List getUserInfosList() { return userInfosList; } public void setUserInfosList(List userInfosList) { this.userInfosList = userInfosList; } /*返回单个值*/ public String returnMsg(){ this.message = "成功返回单个值"; return SUCCESS; } /*返回UserInfo对象*/ public String returnUser(){ userInfo = new UserInfo(); userInfo.setUserId(10000); userInfo.setUserName("刘栋"); userInfo.setPassword("123456"); return SUCCESS; } /*返回List对象*/ public String returnList(){ userInfosList = new ArrayList<UserInfo>(); UserInfo u1 = new UserInfo(); u1.setUserId(10000); u1.setUserName("张三"); u1.setPassword("111111"); UserInfo u2 = new UserInfo(); u2.setUserId(10001); u2.setUserName("李四"); u2.setPassword("222222"); userInfosList.add(u1); userInfosList.add(u2); return SUCCESS; } }
package devmon.action; public class UserInfo { private int userId; private String userName; private String password; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <script src="<%=request.getContextPath()%>/js/jquery2/jquery-1.4.4.min.js" type="text/javascript"></script> <script language="javascript"> function getMsg(){ $.ajax({ url:'returnMsg.action', type:'post', dataType:'json', success:function(data){ $("#result").html(data.message); } }); } function getUser(){ $("#result").html(""); $.ajax({ url:'returnUser.action', type:'post', dataType:'json', success:function(data){ $("#result").append("用户ID:"+data.userInfo.userId+"").append("用户名:"+data.userInfo.userName+"").append("密码:"+data.userInfo.password+""); } }); } function getUserList(){ $("#result").html(""); $.ajax({ url:'returnList.action', type:'post', dataType:'json', success:function(data){ $.each(data.userInfosList,function(i,value){ $("#result").append("第"+(i+1)+"个用户").append("用户名:"+value.userName+"").append("密码:"+value.password+""); } )} }); } </script> <div id="result"></div> <input type="button" value="获得单个消息" onclick="getMsg()"/> <input type="button" value="获得用户信息" onclick="getUser()"/> <input type="button" value="获得用户列表" onclick="getUserList()"/>
引用
当启动tomcat和运行页面的时候没有问题,当点击jsp中的按钮调用js的时候回调数据就会报异常。异常如下,请高手帮我解决下啊。ERROR (Dispatcher.java:512) - Could not find action or result There is no Action mapped for action name returnList. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) at java.lang.Thread.run(Thread.java:619)
2012年9月03日 14:34
2个答案 按时间排序 按投票排序
-
你配置了method="returnUser"
请求的时候需要带参数啊
$.ajax({
url:'returnUser!returnUser',
type:'post',
dataType:'json',
success:function(data){
$("#result").html(data.message);
}
});2012年9月04日 16:14
-
There is no Action mapped for action name returnList. - [unknown location] 这个错误一般因为在struts2配置文件中没有定义returnList 这个action造成的。
你clean一下服务器试试 可能是因为没有部署2012年9月03日 14:46
相关推荐
在探讨“Struts2与JSON整合”的主题时,我们深入分析了如何在Struts2框架中集成JSON技术,实现前后端数据的高效交互。Struts2作为一款流行的Java Web开发框架,提供了丰富的功能来简化Web应用程序的开发过程。而JSON...
将Struts2与JSON整合,可以实现高效、动态的Web交互。 首先,我们要理解Struts2整合JSON的基本流程。在Struts2中,我们可以通过Action类返回一个JSON结果类型,这样Struts2会自动将Action的属性转化为JSON格式并...
在Struts2中,通过整合JSON插件,可以方便地将Action的返回结果转换为JSON格式,供前端JavaScript处理。 `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这...
Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...
整合Struts2和JSON的基本步骤如下: 1. 添加JSON插件到项目的类路径:确保`struts2-json-plugin-x.x.x.jar`在类路径中,并在`struts.xml`配置文件中启用JSON插件。 2. 配置Action:在Action类中,添加`@Result`注解...
在Struts2与Ajax的交互中,后端返回的JSON数据需要在前端被`json2.js`解析成可操作的对象,这样才能在页面上动态更新内容。 接下来,我们讨论Struts2的`jsonplugin`。Struts2 JSON插件是官方提供的一个扩展,它使...
Struts2与JSON的整合主要依赖于JSON插件的支持,通过在`struts.xml`中配置Action以及指定结果类型为JSON,可以轻松实现将Java对象转换成JSON格式输出。这种整合方式不仅提高了数据传输效率,还简化了前端解析过程,...
Struts2是一个流行的Java web框架,它为开发者提供了...通过以上知识点,你可以理解并实现Struts2与JSON的整合,创建能够高效、安全地处理JSON数据的web应用。在实际开发中,不断实践和优化,才能更好地掌握这一技术。
### Struts2与JSON的整合 #### JSON 插件简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Struts2框架支持与JSON插件的整合,这使得开发者能够...
Struts2与JSON的整合使得服务器端可以通过JSON格式返回数据给客户端,从而提高了数据传输的效率和用户体验。在Struts2中,可以通过配置Action类和结果类型来实现JSON的输出。通常,我们需要在struts.xml配置文件中为...
总的来说,这个"struts1+JSON实例"旨在帮助初学者了解如何在Java Web应用中整合这些技术。通过学习这个实例,你可以掌握Struts1的MVC模式,理解数据库设计,以及掌握JSON和Ajax在实际项目中的应用。实践这些知识点,...
标题中的"json+struts2整合jar包"指的是将JSON功能集成到Struts2框架中,以便在服务器端与客户端之间进行数据交互。Struts2提供了一个插件——Struts2-JSON-Plugin,用于支持JSON序列化和反序列化,使得Action类可以...
通过这种整合,开发者可以利用Struts2的强大功能处理后端业务逻辑,同时利用Ajax和JSON实现快速、无刷新的前端交互,提高用户体验。在实际开发中,还应注意安全问题,如防止XSS和CSRF攻击,以及正确处理JSONP跨域...
在这个实例中,“整合jquery+json+struts2异步提交”是一个典型的前端与后端交互的示例,利用了jQuery的Ajax功能和Struts2框架处理JSON数据。下面我们将详细探讨这些技术及其相互配合的工作原理。 **jQuery** 是一...
以上就是关于Struts整合JSON的基本知识点,通过这些步骤,开发者可以让Struts2应用能够便捷地与客户端进行JSON数据的交互,提高应用的灵活性和用户体验。在实际项目中,还需要根据具体需求进行调整和优化。
当我们在Struts2框架中整合SSH(Spring、Struts2、Hibernate)时,可能会遇到与JSON相关的数据处理问题。下面我们将深入探讨Struts2整合JSON的相关知识点。 首先,Struts2提供了一种内置的JSON支持,允许我们直接将...
总结来说,这个例子展示了如何利用Struts2处理后端业务逻辑,使用JSON作为数据交换格式,以及通过jQuery在前端实现动态更新和与服务器的异步通信。了解和掌握这三个工具的整合使用,对于提升Web开发效率和用户体验...
至此,一个简单的Struts2整合JSON的实例就完成了。需要注意的是,Struts2 JSON插件还支持自定义JSON配置,例如排除某些字段、设置日期格式等。同时,我们还可以通过拦截器或自定义结果类型来扩展其功能,以满足更...
例如,`struts2-spring-plugin.jar`允许你将Struts2与Spring框架集成,实现依赖注入和事务管理。 在实际开发中,还需要注意以下几点: 1. 配置Struts2的`struts.properties`文件,设置默认的Action包名和结果类型。...