java怎样把后台值传到前台

时间:2022-07-09 11:56:23
后台代码:
if(this.Request["type"]!=null)
{
aaa=this.Request["type"].ToString();
try
{
bbb=Convert.ToInt32(strType);
}
catch{}
}
request.setAttribute("bbb",bbb);
在目标JSP页面这样写<input type="hidden" id="info" value="<%=request.getAttribute("bbb")%>"/>,(或者${request.bbb})
然后在Script中直接通过操作dom取得该值,var bbb=document.getElementById("info").value;
不过这样获得的值已经是个字符串了,因为无论是<%=request.getAttribute("bbb")%>还是表达式,执行的对象的toString方法输出,
如果是数组的时候可以考虑用C标签,循环输出每个数组元素,然后用document.getElementByName方法获取
 
-----------------------------------------------------------------------------------------------------
 
 
假如我想用session把数组bbb的值从后台传到前台,后台的代码该怎样写了?到了前台的Script中怎样来获取?

后台:

public String getSeesionArrays() {

HttpSession session =ServletActionContext.getRequest().getSession();

String [] bbb={"第一个元素","第二个元素","第三个元素","第四个元素","第五个元素"};

try {

session.setAttribute("bbb", bbb);

} catch (Exception e) {

e.printStackTrace();

}

return "details";

}

--

当然不管怎么样,用servlet,struts,webwork,spring mvc还是纯JSP,只要能将数组bbb的值设置成session范围属性,然后能够跳转到目标JSP页面或是浏览器不关闭的情况下,到任何页面,可以通过如下方式获得

<%@ page language="java" pageEncoding="GBK"%>

<%@taglib prefix="s" uri="/struts-tags"%>

<html>

<head>

<title>资源列表</title>

<style type="text/css">

</style>

<script language="javascript" type="text/javascript">

function initialJSP(){

var bbb=document.getElementsByName("array");

var info="";

for( i=0;i<bbb.length;i++){

info +=bbb[i].value+",";

}

alert(info);

}

</script>

</head>

<body onLoad="initialJSP()">

<h1>

资源列表

</h1>

<ul>

<%

String bbb[]=(String[])session.getAttribute("bbb");

for(String s:bbb){

%>

<li>

<input type="hidden" name="array" value="<%=s%>" />

<%=s %>

</li>

<%

}

%>

</ul>

</body>

</html>

当然,按照要求,JSP页面当中要不存在<%%>,也就是没有JAVA代码才是合格的,但是这里就勉强那这个做个事例!然后输出结果如下图,显然已经取到了bbb数组,不过都是String类型的,

java怎样把后台值传到前台