`

struts2的Action方法中,直接输出js代码

阅读更多

一、Action直接输入js代码

struts2的Action方法,可以没有返回值,void,然后直接out.write("<script>js代码</script>")

out.println("<script>js代码</script>")

 

	/**
	 * 单个修改价格
	 * @return
	 * @author mengxianjun
	 * @throws Exception 
	 * @date 2011-4-25 上午09:30:53
	 */
	public void updatePrice() throws Exception
	{
		TCommissionId tCommissionId = new TCommissionId();
		tCommissionId.setProductNum(productNum);
		tCommissionId.setTypeNum(typeNum);
		
		commission = priceStrategyService.queryTCommissionById(tCommissionId);
		
		/*按价格修改,else按比率修改*/
		if( "prices".equals(updateType) )
		{
			fastPriceOrRatio = DoubleConvert.getDoubleByFastPrice(fastPriceOrRatio);
			Double fastCommission = DoubleConvert.getDoubleByFastCommission((money[0])-fastPriceOrRatio);
			
			commission.setFastCommission(fastCommission);
			commission.setFastPrice(fastPriceOrRatio);
			commission.setAlterDate(new Date());//修改时间
			commission.setEmployeeId(getEmpID());//处理工号
			
			priceStrategyService.updateTCommission(commission);
		}
		else
		{
			Double fastPrice = DoubleConvert.getDoubleByFastPrice((money[0])*fastPriceOrRatio);//通过比率算出实际价格
			Double fastCommission = DoubleConvert.getDoubleByFastCommission((money[0])-fastPrice);//面值-实际价格,得到佣金
			
			commission.setFastCommission(fastCommission);
			commission.setFastPrice(fastPrice);
			commission.setAlterDate(new Date());//修改时间
			commission.setEmployeeId(getEmpID());//处理工号
			
			priceStrategyService.updateTCommission(commission);
		}
		
		this.getResponse().setContentType("text/html;charset=UTF-8");
		this.getResponse().setCharacterEncoding("UTF-8");
		PrintWriter out = this.getResponse().getWriter();
		out.println("<script>alert('修改成功!');history.go(-2);window.location.reload(true);</script>");
		out.flush();
		out.close();
		return null;
	}

 

二、AJAX提交,Struts2的Action返回json数据

	/**
	 * 验证业务密码--ajax方式
	 * @author mengxianjun
	 * @throws IOException 
	 * @date 2011-6-13 下午01:33:03
	 */
	public void checkPwd2() throws IOException
	{
		PrintWriter out = this.getResponse().getWriter();
		String vp = "false";
		if( valiPass(password2) )
		{
			vp = "true";
			out.write("{\"msg\":\""+vp+"\"}");//反斜杠转义
		}
		else
		{
			vp = "false";
			out.write("{\"msg\":\""+vp+"\"}");//反斜杠转义
		}
	}

 

 

分享到:
评论
1 楼 lewkinglove 2012-03-31  
话说, 你的this.getResponse().getWriter()这个方法是自己实现的还是继承父类的? 父类的名字是?

相关推荐

    struts2如何实现弹出action返回的错误信息

    这种方法涉及到直接在Action中使用`response.getWriter()`来输出JavaScript代码,从而触发浏览器的弹窗警告。 ```java PrintWriter outjs = response.getWriter(); outjs.print("&lt;script&gt;alert('成功');window....

    Struts2 Struts2 超好的Struts2 pdf 文档

    1. **Action**:在Struts2中,Action是业务逻辑的载体,负责处理用户请求。Action类通常会与Service层交互,完成特定的业务功能。 2. **配置**:Struts2的配置分为XML配置和注解配置两种方式。XML配置文件(struts....

    struts2返回JSON数据的两种方式

    总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...

    struts2标签的使用代码

    在Struts2中,`&lt;s:iterator&gt;`标签是最常用的迭代标签,用于遍历集合或数组。例如,你可以使用它来显示数据库查询结果: ```jsp &lt;p&gt;Id: , Name: &lt;s:property value="name" /&gt;&lt;/p&gt; ``` 在这个例子中,`list`是你...

    struts2-Annotation

    在Struts2中,开发者可以使用注解来声明动作(Action)、结果(Result)和拦截器(Interceptor)等。 2. **Struts2中的主要注解**: - `@Action`: 这个注解用于标记一个Java类作为Struts2的动作类,它定义了请求...

    原创struts2讲义2.pdf

    拦截器是Struts2中的一个重要特性,它允许开发者在Action执行前后添加自定义的行为,比如身份验证、数据校验等。通过配置文件可以轻松地控制哪些Action需要经过哪些拦截器。 **1.2.3 FilterDispatcher与Action映射*...

    Struts2中使用JSON+YUI之一[包含功能代码段]

    在Struts2中整合JSON(JavaScript Object Notation)和YUI(Yahoo User Interface Library)可以实现高效的异步数据交互,提升用户体验。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    struts2的一些扩展用法

    4. **模型驱动(ModelDriven)**:Struts2的ModelDriven模式允许将Action类的复杂性降低,通过将模型对象直接绑定到Action,简化了数据处理。这有助于保持Action的简洁性,并提高代码的可读性和可维护性。 5. **...

    Struts2精简jar包

    2. **struts2-convention**: 这个模块支持约定优于配置(Convention over Configuration)的概念,允许开发者通过类名和方法名自动映射URL,减少了XML配置的需求。 3. **struts2-dojo-plugin**: 提供了对Dojo ...

    struts2 + jfreechart demo

    4. **图表在视图层的展示**:在Struts2中,通常会将生成的图表作为图像流(ImageStream)返回,通过ActionResult的类型(如StreamResult)来实现。这涉及到设置图表的输出格式(如JPEG或PNG),以及在Action中设置...

    ajax-struts2需要的3个包

    在Struts2中实现Ajax交互,通常需要依赖一些特定的库和插件。以下是对"ajax-struts2需要的3个包"的详细解释: 1. **json.js**: 这是一个JavaScript库,用于处理JSON(JavaScript Object Notation)数据格式。JSON...

    Struts2_JSON_Demo

    在"Struts2_JSON_Demo"项目中,你可以通过分析源代码,了解上述各个步骤的实现细节,从而深入理解Struts2和JSON的交互。这个示例项目将帮助你掌握如何在实际项目中有效地使用Struts2和JSON,提升Web应用的性能和用户...

    struts2第二天源代码

    1. **Action与Result**:在Struts2中,Action类是业务逻辑的载体,它处理用户的请求并返回相应的结果。Result则是Action执行后展示的视图,可以是JSP、Freemarker模板或者其他任何形式的输出。 2. **配置文件**:...

    Struts2之struts2标签库了解和使用案例struts025

    在Struts2中,标签库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更加专注于业务逻辑而不是繁琐的HTML代码。本篇文章将深入探讨Struts2的标签库,并通过具体案例进行讲解。 首先,Struts2标签库...

    struts2所需jar包

    2. `ognl.jar`:对象图导航语言,用于表达式语言,Struts2中用于在Action和视图之间传递数据。 3. `freemarker.jar`或`velocity.jar`:模板引擎,用于生成动态HTML页面,Struts2默认支持Freemarker,但也可以选择...

    Ext_struts2

    4. 数据交换格式:Struts2可以通过配置支持JSON输出,这样可以直接被Ext JS解析,实现前后端数据的无缝对接。 5. 错误处理和验证:利用Struts2的拦截器实现全局错误处理和数据验证,将错误信息反馈给Ext JS的界面...

    Struts2_JasperReport整合的例子

    6. **前端展示**:在页面上,使用Struts2的标签库或者其他方式(如JavaScript、jQuery)来触发报表下载动作,或者在页面上直接显示报表内容。 在实际应用中,可能还需要考虑以下方面: - **国际化与参数化**:...

    Struts2使用Annotation返回Json

    在Struts2中,我们通常会用到`@Action`、`@Result`等注解来定义一个Action类和其结果。要返回JSON,我们需要引入Struts2的JSON插件。该插件提供了处理JSON输出的能力,使Action可以直接返回Java对象,而无需手动构建...

    struts2返回json数据的方法一 使用json-default

    在Struts2中,处理Action类的结果通常会重定向到一个JSP页面或发送一个简单的文本响应。然而,在现代Web应用中,JSON(JavaScript Object Notation)格式的数据交换变得越来越普遍,因为它能轻松地在服务器和客户端...

    mongo集成spring struts2 json velocity

    Struts2是本项目中的控制器层,它的核心是Action类,每个Action对应一个用户请求。Struts2通过配置文件或注解定义Action与URL的映射,处理HTTP请求,并调用相应的服务方法。Struts2与Spring的集成,可以让Spring管理...

Global site tag (gtag.js) - Google Analytics