struts2+spring3:将变量从动作传递给JSP(JavaScript代码)
struts2+spring3: passing a variable from action to jsp (javascript code)
首先,非常感谢所有试图在这个论坛上解决我们问题的人;)
我正在开发一个带有struts2 + spring3的Web应用程序。我有一个关于如何将变量(数组数组)从操作类传递到 jsp 页面的问题。
我知道您唯一需要做的就是在我的操作中声明一个私有变量和该变量的 get 方法,然后可以从 jsp 访问这些变量,我已经做到了并且它有效。
public class Workspace extends ActionSupport {
private String[][] objects=null;
public String[][] getObjects() {
return objects;
}
public String execute() throws Exception{
问题是我想在加载整个网页之前从 javascript 代码访问这个变量。
我尝试过不同的方法,但它从未奏效。
$(function() {
var objectsMap=new Array();
$(document).ready(function() {
objectsMap = $objects;
});
两者都不起作用(警报显示:"值:未定义"):
<s:set name="auxObj" value="%{objects}"/>
<script>
alert("Value: "+$("#auxObj").val());
</script>
有人知道我该怎么做吗?
对于Web开发初学者来说,重要的是要了解像JSP这样的服务器端语言在Web服务器上运行,而像JS这样的客户端语言在Web浏览器上运行。JS不与JSP同步运行。JSP 只生成 HTML/CSS/JS 代码。网络服务器将其发送到网络浏览器。JS只能看到/理解HTML。
每当你想要将JSP变量分配给JS时,你需要让JSP打印它,就好像它是JS代码一样。这是一个使用 JSTL <c:forEach>
标签迭代Object[][]
的示例(我相信 Struts 也有自己的迭代器标签,<s:iterator>
,但由于我不使用 Struts,我不确定如何使用它以及它是否适用;JSTL 应该工作得很好)。
<script>
var objects = [];
<c:forEach items="${objects}" var="row" varStatus="x">
objects[${x.index}] = [];
<c:forEach items="${row}" var="column" varStatus="y">
objects[${x.index}][${y.index}] = '${column}';
</c:forEach>
</c:forEach>
</script>
这样,当 JSP 完成生成 HTML/JS 代码的任务时,假设您有一个包含 2 行和 2 列的Object[][]
(您可以通过在 Web 浏览器中打开页面、右键单击它并选择查看源代码来自己验证它):
<script>
var objects = [];
objects[0] = [];
objects[0][0] = 'row1col1';
objects[0][1] = 'row1col2';
objects[1] = [];
objects[1][0] = 'row2col1';
objects[1][1] = 'row2col2';
</script>
这样JS代码可以通过objects
访问它。
谢谢大家,它终于可以工作了,我在这里输入代码,以防对其他代码有用:
var $linesMap=new Array();
$(document).ready(function() {
var $arr;
<s:iterator value="objects" var="item" status="stat">
$arr=new Array();
<s:iterator value="item" var="item2" status="stat2">
$arr.push(['${item2[0]}','${item2[1]}']);
</s:iterator>
$linesMap.push($arr);
</s:iterator>
});
然后我可以在javascript代码中使用$linesMap:)
谢谢阿莱克斯
- 使用Javascript生成包含JSP的HTML
- 使用javascript和jsp将数据插入到融合图中
- 将多个参数从jsp页面传递给javascript函数
- javascript从codeigniter转换为jsp
- 将关联的值从弹出窗口传输到父窗口 JSP/Javascript
- JSP-Javascript-JSP 登录流程不起作用
- 如何在 JSP/JavaScript 中将图像转换为字节数组
- 将数据传递到.jsp Javascript 数组中
- 如何从java jsp javascript打开excel
- JSP/Javascript文件上传-dos't在托管服务器上调用父javascript函数,但在本地服务器中工
- JSP/JavaScript web应用程序中的绝对URL与相对URL
- JSP/JavaScript页面在代理服务器上的性能缓慢
- JSP/Javascript:如何根据页面动态更改标题
- 重定向其他Jsp JavaScript
- 如何在企业Java项目(Java + JSP + Javascript)中检测死代码
- JSP, Javascript,在另一个Id中获取ElementId
- 超级简单的JSP Javascript问题
- JSP/JavaScript 前端上传验证 32 位或 64 位文件
- struts2+spring3:将变量从动作传递给JSP(JavaScript代码)
- JSP + JavaScript + Servlet意外结果