ssh中struts2标签s:propery中jsp的取值问题
如图中:#stockorder.orderdate是可以取到值得,但是#stockorder.employee.name去取不到值,employee是另一个实体类,有自己...
如图中:#stockorder.orderdate是可以取到值得,但是#stockorder.employee.name去取不到值,employee是另一个实体类,有自己的表,我用一对多的方式想查询员工的信息,但是没有值,但是我在action中循环打印了打印了employee的name值,每一个employee是放在一个ArrayLiset<Employee> employees中的,在action中name是有值的,就是在jsp中没有值。
展开
2个回答
展开全部
Java的变量值,理论上在js中是不能获取,但是可以通过间接的方式来获取。
提供两种思路供参考:
1、把java变量的值存在cookie中,js通过cookie去取;
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
var value= getCookie("cookie的name名");
2、把java变量的值赋值给页面中<input type="hidden"/>的value,通过js去取;
var value=document.getElementById("hidden的ID").value;
提供两种思路供参考:
1、把java变量的值存在cookie中,js通过cookie去取;
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
var value= getCookie("cookie的name名");
2、把java变量的值赋值给页面中<input type="hidden"/>的value,通过js去取;
var value=document.getElementById("hidden的ID").value;
展开全部
肯定不能这样取啦,因为你要么是表直接的关联都没建立好,要么就是查询的语句用的不对,所以数据库只是查询除了stockorder表的数据出来,而其外键所关联的employee没查到。所以如果你是用session.get()来查的话,一般都能全部查出这些关联的表的;如果你是用sql = “select XXX ”,然后session.createQuery()。。。什么什么这样的话去查询的话,肯定无法查到employee。所以如果你是用SQL语法去查询的话,要优先查询出employee,然后查询stockorder表,然后再把查到的employee数据set进入stockorder表中,这样就行了。
更多追问追答
追问
但是我后台里面是有取到值,就是在action那里卡主了,传不到前台,我用DetachedCriteria criteria = DetachedCriteria.forClass(Stockin.class);和hibernateDaoSupport进行查询的
追答
不管你怎样查询,你先定义一个List sto = new ArrayList();
然后把这个结果保存在sto里,最后再把sto设进request里面,request.setAttribute("stolist",sto);
然后注意,你的employee查出来后的类型,如果它set进Stockin是List类型的话,或直接一个Employee类迭代出来也是不同,例如:
第一种 :
public class Stockin{
private Employee employee;
}
第二种:
public class Stockin{
private List employee;
}
最后,用struts标签迭代的时候:
*******************************************************************************
******************************************************************************
没错,如果你的Employee是List类型的话,要采用双重迭代。所以怎样迭代,要看你表的设计!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询