首页 新闻 搜索 专区 学院

servlet和web页面启动调用

0
悬赏园豆:20 [已解决问题] 解决于 2015-02-13 16:43

小弟最近做一个小项目要求页面中不能使用JAVA小脚本不能出现<%%>
所以内容都通过Servlet来读使用JSTL标签在页面中显示
问题:
1.主页的内容有点类似京东主页左侧的商品类别,怎么在打开主页的时候Servlet已经运行完成
   在主页中使用JSTl标签来获取Session或都其它里面的值输出
2.点击连接显示商品详情时,连接地址使用Servlet地址?再转发或者重定向吗?
  如果使用页面地址url连接怎么在页面跳转时,调用Servlet的值

森林森的主页 森林森 | 初学一级 | 园豆:196
提问于:2015-02-13 15:22
< >
分享
最佳答案
0
收获园豆:20
Launcher | 高人七级 |园豆:45045 | 2015-02-13 15:28

 这个我知道,关键是,我打开的第一个页面是主页,而主页中的内容要从servlet中取,这时servlet还没有被访问页面中这里取不出值的

主页中的类别列表是servlet从数据库中读出来的,而先打开的是主页,就没办法取值

现在的问题是怎么样让servlet在打开主页前已经把值放到session或者application中去,打开主页时就可以直接取到值了

森林森 | 园豆:196 (初学一级) | 2015-02-13 15:36

@森林森: 请问,如果不用 JSTL,而用 JS,你怎么实现?

Launcher | 园豆:45045 (高人七级) | 2015-02-13 15:43

@Launcher: 不太会,我刚接触这些东东,编程,都了解一点但都不熟,请大神指点

森林森 | 园豆:196 (初学一级) | 2015-02-13 15:51

@森林森: 那完了,我没法给你最佳的建议。我能想到的方案是,你需要在你的主页加载的时候就访问 servlet 并得到类别列表存入 session。

Launcher | 园豆:45045 (高人七级) | 2015-02-13 15:54

@Launcher: 对,就是这样的,可就是没法实现,郁闷了,2天也没搞出来,还是要谢谢您

森林森 | 园豆:196 (初学一级) | 2015-02-13 15:56

@森林森: 我劝你还是先学学 js,然后理解一下 jsp 的执行模型,你在浏览器中浏览你的页面,然后查看一下源文件,你会发现你的那些 JSTL 标记都没了,全部转换成了 HTML 和 JS。

Launcher | 园豆:45045 (高人七级) | 2015-02-13 16:02

@Launcher: 好的,谢谢,我也发现js方面,我是小白了,正在看

森林森 | 园豆:196 (初学一级) | 2015-02-13 16:05

@森林森: 

2. <c:set> 用于将变量存取于 JSP 范围中或 JavaBean 属性中。下面的例子中假设已经有 Category.java 这个类文件。

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page contentType="text/html; charset=utf-8" %>

<jsp:useBean id="category" class="lihui.Category"></jsp:useBean>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JSTL测试</title>
  </head>
  
  <body>
  <c:set value="张三" var="name1" scope="session"></c:set>
  <c:set var="name2" scope="session">李四</c:set>
  <c:set value="赵五" target="${category}" property="name"></c:set>
  <c:set target="${category}" property="age">19</c:set>
  <li>从session中得到的值:${sessionScope.name1}</li>
  <li>从session中得到的值:${sessionScope.name2}</li>
  <li>从Bean中获取对象category的name值:<c:out value="${category.name}"></c:out></li>
  <li>从Bean中获取对象category的age值:<c:out value="${category.age}"></c:out></li>
  </body>
</html>
Launcher | 园豆:45045 (高人七级) | 2015-02-13 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册