调用action常见问题和返回方式总结
1.action not found
(1)确定Struts2配置文件中是否定义了该action,若存在,则对比一下和页面提交的url的action是否一致,常出现首字母大小写不一致问题
(2)页面提交的url中的参数类型,和action中定义的变量类型是否一致,常遇到int和string不一致的问题
(3)在JSP中定义basepath,在url前加上这个basepath
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
(4)查看自己的Struts拦截器,是否对某些特定的参数进行了过滤拦截
2action返回的类型
(1)常规
request.setAttribute("dataList", resultList);
(2)返回Json串
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
JSONObject responseObject = new JSONObject();
esponseObject.put("result", ispass == true ? "1" : "0");
responseObject.put("resultText", resultStr);
response.getWriter().print(responseObject.toString());
response.getWriter().close();
当然需要加上try catch ,可以将response.setXXX和response.getXXX以及try catch提成一个公用方法这样就可以很方面的使用
public void printJsonResult(String responseText) {
try {
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().print(responseText);
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
若要返回一个List,可以用JSONArray
JSONArray dataArrayList=JSONArray.fromObject(datalist);
responseObject.put("dataArrayList", dataArrayList);
若要返回一个Map
JSONArray obj = JSONArray.fromObject(resultList);
HashMap<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("data", obj);
JSONObject dataObject = JSONObject.fromObject(dataMap);
printJsonResult(dataObject.toString());
相关推荐
Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...
以下是Servlet调用的四种常见方式的详细说明: 1. **通过URL调用** 这是最基础的调用方式,用户在浏览器地址栏输入与Servlet映射的URL,如`http://localhost:8080/myservlet/hello`。服务器接收到请求后,根据`web...
为了解决这个问题,开发者需要使用特定的方法来跨线程安全地调用控件。以下就是C#中非控件创建线程调用控件的四种主要方式: 1. **Control.Invoke() 和 Control.BeginInvoke()** 这是最常见的处理跨线程操作的方法...
在Android系统中,调用系统程序是常见的操作,可以实现应用程序间的交互,增强用户体验。本文将深入探讨如何在Android应用中调用系统程序,包括设置页面、Wi-Fi设置页面、发送电子邮件以及联系人页面的调用。 首先...
在Android应用开发中,调用相机和相册是常见的功能,允许用户拍摄照片或选择已有的图片进行操作。本文将详细介绍两种方法,一种基于郭霖的教程,另一种是经过优化可兼容小米设备的方法。 首先,我们来看郭霖教程中...
在Unity3D中,调用手机相机拍照并回传到Unity场景是一项常见的功能,尤其在开发AR(增强现实)或游戏应用时。本教程将详细解释如何实现这一过程。 首先,Unity3D本身并不直接支持调用设备的相机功能,但可以通过iOS...
在Java编程中,调用Web服务接口是一种常见的任务,尤其是当需要实现跨平台通信或集成不同系统时。本文将深入探讨如何使用Java调用WebService接口,以实例分析有参方法Add的使用技巧。 首先,我们需要了解WebService...
在Android Studio中调用摄像头拍摄并获取条形码返回结果是一项常见的功能,它涉及到Android的相机权限、Intent机制以及第三方库的使用。本篇将详细讲解如何实现这一过程。 首先,确保你的AndroidManifest.xml文件中...
在Android Studio和Unity之间的交互中,调用相机和相册功能是常见的需求,尤其是在开发混合式移动应用时。本文将详细讲解如何实现这一功能,并针对Android 6.0及以上版本的权限管理进行适配。 首先,理解Android ...
标签“调用窗体控件”和“c#跨线程”提醒我们注意线程安全和UI更新的问题,而“跨类”则强调了对象间的通信。在实际开发中,理解这些概念对于编写健壮、高效的多线程应用程序至关重要。 总结一下,C#跨线程跨类调用...
在Flex和Java之间进行远程调用,最常见的技术之一是使用AMF(Action Message Format)。AMF是一种二进制数据格式,能够高效地序列化和反序列化ActionScript对象,使得 Flex与Java之间的数据交换更为快速和高效。...
总结,Android调用WebService涉及了多种技术,包括选择合适的协议(如SOAP或RESTful),引入相应的库,构建和发送请求,以及处理返回的结果。理解这些知识点,并结合实际的AndroidWSDemo项目,将有助于你在实际开发...
在Android应用开发中,调用相机和相册是常见的功能,尤其在涉及到用户上传图片或者进行图像处理的应用中。下面将详细讲解如何在Android中实现这些功能,以及如何集成扫描线、拍照回显和传值。 一、调用相机 1. ...
总结,Android相机调用涉及Intent方式、Camera API的使用,以及针对特定设备问题的解决策略。在实际开发中,我们需要根据应用需求选择合适的调用方式,并注意设备兼容性,特别是处理横屏模式下的问题。`pictureutil`...
在Android开发中,Intent...了解并熟练掌握这些常见组件的调用方式,对于提升Android应用的用户体验和功能完整性至关重要。记得在使用Intent时,要遵循组件间通信的安全和最佳实践,例如检查权限、正确处理返回结果等。
总结,Activity之间的调用是Android应用中不可或缺的一部分,Intent作为调用的桥梁,承载着启动信息和数据。理解并熟练运用这些知识,能帮助开发者构建更加流畅、高效的应用程序。在实际项目中,合理规划Activity的...
在Android应用开发中,调用摄像头是一项常见的功能,它允许用户通过手机摄像头拍摄照片或录制视频。本文将详细介绍如何在Android中实现这一功能,包括必要的权限设置、启动相机活动以及处理拍摄结果。 首先,调用...
本篇文章将详细讲解如何在Android中启动服务以及如何调用服务内部的方法,以帮助开发者更好地理解和运用这项技术。 首先,我们要理解Android服务的基本概念。服务不同于Activity,它没有用户界面,主要用于执行长...
在Android系统中,调用其他Camera应用拍照是一个常见的功能需求,...以上是关于"android调用其他Camera应用拍照"的基本介绍和实现方式,对于初学者和开发者来说,理解并掌握这些内容将有助于构建更丰富的Android应用。
客户端通过SOAP请求调用WebService是一种常见的跨平台通信方式,适用于各种编程语言。理解SOAP消息的结构和HTTP请求的原理,是进行此类通信的关键。在实际开发中,开发者通常会使用库或框架(如Java的JAX-WS,.NET的...