Struts与JSP的交互问题?请各位指点.

zhuwenli 2008-11-19 08:23:24
package webstockdemo;

import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import java.util.ArrayList;
import java.sql.SQLException;

public class ListAction extends Action {
public ListAction() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}

public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws
ClassNotFoundException, SQLException {
StockForm stockForm = (StockForm) actionForm;
StockDB stockdb=new StockDB();//数据库操作类
ArrayList array=new ArrayList();
StockEntity stockentity=new StockEntity();//数据bean

array=stockdb.listStockData();//获取一个数据集合对象
stockentity=(StockEntity)array.get(0);//提取数据bean对象
/*判断是否为空*/
if(stockentity.getStockCode()!=null && stockentity.getStockCode()!=""){
servletRequest.setAttribute("arraylist",array);

return actionMapping.findForward("list");//跳转到list.jsp
}
else
return actionMapping.findForward("error");//跳转到error.jsp中
}

private void jbInit() throws Exception {
}
}
/*上面是我的 Action里边的代码*/
/*我现在想在里边在添加一个参数传递到list.jsp中然后在list.jsp中用javascript读取出来应该怎么写jsp里边应该怎么读我是菜鸟谢谢大家拉^_^*/
...全文
153 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰冻火山 2009-04-29
  • 打赏
  • 举报
回复
针对struts1.2,在action中
servletRequest.setAttribute("xxx",xxx);
在jsp中
<%request.getAttribute("xxx")%>
只会得到NULL
hrh2347 2008-11-24
  • 打赏
  • 举报
回复
楼主应该用request.setAttibute()这方法,把要传的参数放进去就可以了
zyy_13579 2008-11-24
  • 打赏
  • 举报
回复
引用Landor2004的话
servletRequest.setAttribute("xxx",xxx);
jsp中
js:
var xxx = " <%=request.getAttribute("xxx")%>"
这里request.getAttribute("xxx")只会取到一个对象,所以javascript是不能识别的。这里需要使用js的eval()函数格式化数据
首先你要想好在js里需要一个什么样类型的变量如果是Array。那么这么写
在action里把、写servletRequest.setAttribute("xxx",xxx);这里的“xxx”应该是字符串,就像js里的数组形式"[1,2,3,4]"
然后在jsp里这么写var xxx = eval("<%=request.getAttribute("xxx").toString()%>");
miskmat 2008-11-24
  • 打赏
  • 举报
回复
我以为你用的是struts2 上面的方法适用struts2
wukaaa 2008-11-24
  • 打赏
  • 举报
回复
js和jsp都可以取到的...
miskmat 2008-11-24
  • 打赏
  • 举报
回复
比较简单的方法就是:
你在自己的action中声明一个变量 temp,然后增加get 和set方法,在jsp页面中直接用<%=temp%>就可以得到这个变量
切忌必须创建get 和set负责无法得到。
oldwolf1987 2008-11-23
  • 打赏
  • 举报
回复
我对js引用asp比较熟悉
js引用jsp我想方法应该一样吧
和4L是一样的!~~~
所以推荐用4L的方法

补充一下7L
这里要用到el表达式 你还得要添加jstl标签包
因为你的action里面获取的是list
所以你还得在jsp页面上用<c:forEach>标签来获取
具体的获取方式如下
<c:forEach items="${arraylist}" var="list">
${list.属性1}
${list.属性2}
</c:forEach>

这就是7L的意思
但是我不推荐用这个方法
因为就在不久之前,我就是用js和jstl一起套用,结果除了很多未知的错误
(至少是我以前没见过的错误)
而且调试代码的时候也很麻烦,所以强烈建议用4L的那种方法!~~
Charlie911 2008-11-22
  • 打赏
  • 举报
回复
引用EL标签库
${}
不记得怎么写了,大概是这样一个格式
mashuaisoft 2008-11-22
  • 打赏
  • 举报
回复
在js里可以读吗?在jsp页面可以用标签读出来,页面最好不要出现<%%>,
Landor2004 2008-11-19
  • 打赏
  • 举报
回复
var xxx = '<%=request.getAttribute("xxx")%>'
Landor2004 2008-11-19
  • 打赏
  • 举报
回复
servletRequest.setAttribute("xxx",xxx);

jsp中
js:
var xxx = "<%=request.getAttribute("xxx")%>"
kulou54 2008-11-19
  • 打赏
  • 举报
回复
在JS里读我是不会了。。不过推荐你几种方法
设置到request中或者session中
JSP的隐式对象request session都是~~用起来也方便
用EL显示。。判断用JSTL来判断
zhuwenli 2008-11-19
  • 打赏
  • 举报
回复
自己顶顶顶顶
zhuwenli 2008-11-19
  • 打赏
  • 举报
回复
自己顶顶顶顶

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧