-
javascript接受struts传过来的数组问题20
我想在jsp页面里面用javascript定义一个数组来接受java传过来的数据怎么老是收不到数据,传一个字符串可以,传一个字符串数组就没数据了?
jsp页面
Java代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html>
strutspackage com.jwl.exam; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class testjs extends ActionSupport{ private String[] sometext={"dfslhk","fsdfsdf"}; public String[] getSometext() { System.out.println("getSometext()"); return sometext; } public void setSometext(String[] sometext) { this.sometext = sometext; } }
只是粗略的试了一下 字符串可以 数组 不知道是哪里写错了 老是没有数据2008年5月26日 17:06
3个答案 按时间排序 按投票排序
-
采纳的答案
首先 var string = '<s:property value="sometext"/>';
这句话中的string得到的返回值只是Java代码中的someText数组的toString()值
而数组的toString()方法返回值只是类似于java.lang.String;@360be0的字符串
所以上面那句话的值就变为了 var string = 'java.lang.String;@360be0' 这样的形式
其次 javascript中声明数组的语法是
var string = ["valueA","valueB","valueC"];
你的那种方式得到的永远只是字符串;
所以:
你可以将在getSomeText()方法里面
把数组格式化`将数组 String[] sometext={"valueA","valueB","valueC"};
转换为 valueA,valueB,valueC 的格式进行返回
不过要注意`如果上面转换的valueA,valueB,valueC不是数字类型的`
那要在每个值两边加上引号成为 'valueA','valueB','valueC'
然后在Javascript之中
以 var string = [<s:property value="sometext"/>] 的形式获取值;
这样你所得到的string值就是一个数组了.
希望上面的内容可以帮助你解决你的问题~`
2008年5月28日 21:49
-
struts 好久不用了,两种办法
1.
在页面用jsp构造一个符合要求的字符串
<%
String xxx= ...
%>
2.
在后台写个方法 getJsonArrayString 直接返回Json格式字符串,可以用 JSON.org的实现。
<s:property value="sometext"/>' 相当于 getSometext().toString()2008年5月28日 01:25
-
'<s:property value="sometext"/>' 这样不就是强制为一个字符串了吗?能得到数组就怪了。可以试试
eval(),前提是你返回的是正确的javascript数组2008年5月27日 10:28
相关推荐
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
Struts 2.0 API 和 JavaScript 手册是两个重要的技术资源,对于深入理解Java Web开发中的MVC框架Struts 2以及前端脚本语言JavaScript至关重要。这两个.chm(Microsoft帮助文件)文档提供了丰富的信息,涵盖了这两个...
本文将深入探讨如何在Struts框架下处理checkbox的数组传值,以及如何利用JavaScript增强用户体验。 ### Struts框架中的Checkbox处理 #### 1. **Struts标签库** Struts是Java Web应用开发的一个流行框架,提供了...
1. **添加依赖**:首先,需要在项目中引入SWFUpload的JavaScript库和Flash对象,以及Struts2的相关依赖。 2. **配置SWFUpload**:在HTML页面中,通过JavaScript调用SWFUpload初始化方法,配置文件选择、文件类型...
在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...
Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:...
SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则提供了与服务器端进行异步交互的能力。 首先,我们需要理解JSON数据结构。在示例中,返回的JSON数据是一个二维数组,形...
4. **数据加载**:数据可以通过JavaScript数组直接提供,也可以从服务器动态获取,支持JSON、XML等多种数据格式。 5. **交互功能**:Highcharts图表具有丰富的交互功能,如悬停提示、点击事件、图表缩放、图例切换...
在JavaScript的上下文中,了解数据结构尤其重要,因为优化JavaScript代码常常需要对数组和对象有深入的理解,例如使用合适的遍历方法,或是利用闭包和原型链来节省内存。 阳轶和张鼎新的Struts课程则侧重于讲解如何...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Struts2中,我们可以配置Action类返回JSON类型的结果,这样当客户端(如Android应用)发起请求时,...
Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。它基于Action和Result的概念,提供了模型驱动和基于注解的编程方式,简化了开发流程。jQuery则是一个轻量级的JavaScript库...
总之,Struts2的文件上传结合JavaScript的前端验证,可以构建一个健壮且用户体验良好的文件上传功能。需要注意的是,安全性和性能优化也是设计这类功能时必须考虑的因素,例如防止文件注入攻击,以及优化大文件上传...
这个插件允许开发者在Struts 2中轻松地创建能够返回JSON的Action,使得前端(通常使用JavaScript库如jQuery)可以获取到JSON数据并进行进一步处理。 现在我们来详细讨论这两个库在实际应用中的作用: 1. **json-...
在学习Struts2的过程中,你将会接触到许多重要的知识点,这些知识点对于初学者来说尤其有价值。Struts2是一个强大的MVC(Model-View-Controller)框架,它简化了Java Web应用程序的开发,提供了丰富的功能和良好的可...
而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和高效而被广泛应用于Web服务和客户端之间传输数据。 在Struts2框架中整合JSON,可以让应用更好地支持RESTful服务,使得前端与后端之间...
Struts1.2标签具有丰富的属性,如`key`用于获取资源文件中的消息,`cssClass`用于定义样式,`onblur`、`onclick`等事件处理属性允许开发者添加JavaScript行为。此外,还可以通过`theme`属性改变标签的外观,如使用...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...