在我的jsp中使用来自servlet的初始化参数而不是来自doGet或doPost

时间:2014-02-16 14:16:46

标签: java jsp servlets jstl

如何在不使用doGet或doPost方法的情况下在jsp文件中使用servlet中的初始化参数?

编辑: 因为我想在我的Servlet中只使用Java代码,我的目标是在我的jsp中使用来自servlet的初始化变量。当我加载我的jsp时,一个表应该填充一些数组中的数据。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="object.*"%>
<%@page import="basic.Services"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Shop | Weinhandel SW & DA</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<%
    Services dbService = new Services();    
%>
<body>
<div class="style3"></div><div class="style_2"><span class="style3"><a><strong></strong></a></span></div>
<div id="wrap">
    <!-- Start "HeaderBereich" -->
    <div id="topbar">
      <h1 id="sitename"><a>Weinhandlung SW & DA</a></h1>
      <div id="menus">
        <ul id="topmenu">
            <li>
                <h4><a href="index.jsp">Home</a></h4>
            </li>
            <li>
                <h4><a href="shop.jsp">Shop</a></h4>
            </li>
            <li>
                <h4><a href="Verwaltung.jsp">Mitarbeiterlogin</a></h4>
            </li>
        </ul>
      </div>
    </div>
    <div id="header">
    <!-- Beinhaltet nur das Headerbild -->
    </div>
    <!-- Ende "Headerbereich" -->
    <form method="post" action="WhServlet">
    <!--  Beginn Content Bereich -->
    <div id="content">
        <!--  Mainpage -->
        <div id="HeaderContent">
            <h2>Produkte</h2>
                <p>
                    Hier können Sie Ihren gewünschten Wein raussuchen und in den Warenkorb verschieben. Zur weiteren Hilfe
                    dienen Ihnen die Filter auf der rechten Seite.
                </p>
        </div>
        <div id="ShopMainpage">
            <p>
                <c:forEach items="${weinTable}" var="wein">
                <!-- Tabelle Wein -->               
                <table border="1">
                    <tr>
                        <th>Name</th>
                        <th>Jahrgang</th>
                        <th>Preis</th>
                        <th>Weingut</th>
                        <th>Typ</th>
                        <th>Art</th>
                    </tr>
                    <tr>
                        <td>${wein.name}</td>
                        <td>${wein.jahrgang}</td>
                        <td>${wein.preis}</td>
                        <td>${wein.weingutBez}</td>
                        <td>${wein.weintypBez}</td>
                        <td>${wein.weinartBez}</td>
                    </tr>
                </table>
                </c:forEach>                
            </p>
        </div>
        <!-- Sidebar -->
        <div id="sidebar">

        </div>
        <!-- SidebarContent -->
        <div id="sidebarcontents">
            <a href="#">Warenkorb</a>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
                <!-- Art Filter -->
                <b>Art:</b>
                <p><select name="art" style="width: 100px">
                <option><%="" %></option><!-- leeren String als Startwert -->
                <c:forEach items="${artTable}" var="art">
                <option>${art.artBez}</option>
                </c:forEach>
                </select></p>
                <!-- Land Filter -->
                <b>Land:</b>
                <p><select name="land" style="width: 100px">
                <option><%="" %></option><!-- leeren String als Startwert -->
                <option></option>
                </select></p>
                <!-- Region Filter -->
                <b>Region:</b>
                <p><select name="region" style="width: 100px">
                <option><%="" %></option><!-- leeren String als Startwert -->
                <option></option>
                </select></p>
                <!-- Typ Filter -->
                <b>Typ:</b>
                <p><select name="typ" style="width: 100px">             
                <option><%="" %></option><!-- leeren String als Startwert -->
                <option></option>
                </select></p>
                <!-- Rebsorte Filter -->
                <b>Rebsorte:</b>
                <p><select name="rebsorte" style="width: 100px">                
                <option><%="" %></option><!-- leeren String als Startwert -->
                <option></option>
                </select></p>
                <!-- Weingut -->
                <b>Weingut:</b>
                <p><select name="weingut" style="width: 100px">             
                <option><%="" %></option><!-- leeren String als Startwert -->
                <option></option>
                </select></p>

            <!-- Filter Knopf -->
            <input type="submit" title="btnFilter" value="Filter ausführen"/>

            <br/>
        </div>

    </div>
    <!-- Ende ContentBereich -->
    </form>
</div>

<div id="footer">
<p>Copyright &copy; 2014 | SW  DA Weinhandel</p>
</div>
</body>
</html>

如你所见,我有一张桌子和整齐的组合框。当我按下提交按钮时,我将使用组合框中的选定值创建一个语句并过滤此表以显示正确的数据集。因为生病只能通过doPost或doGet从我的servlet获取值,所以我无法填充这些组合框或表格。我需要一种方法来填充我的桌子和我的组合框,而无需按下我的提交按钮

1 个答案:

答案 0 :(得分:0)

ServletClass.doPost

request.setAttribute("var", "TestString" );

JSP

<c:out value="${var}" />

或者只是在<% %>

中的scriptlet中使用Java代码