我的问题是:我想用我的JSP页面的会话,无需使用servlet(如PHP为例)JSP会话不使用servlet
的问题是:如何做到这一点?我读了这个会话在jsp中的请求是含蓄的,但我实际上并不知道如何使用它。
我有一个主页,他在url上传递了一些变量(如index.jsp?id = 1)。
谢谢你的帮助。
我的问题是:我想用我的JSP页面的会话,无需使用servlet(如PHP为例)JSP会话不使用servlet
的问题是:如何做到这一点?我读了这个会话在jsp中的请求是含蓄的,但我实际上并不知道如何使用它。
我有一个主页,他在url上传递了一些变量(如index.jsp?id = 1)。
谢谢你的帮助。
你可以使用JSTL<c:set>
和<c:remove>
来管理会话属性。
的有效一session.setAttribute("foo", "bar")
下列情况:
<c:set var="foo" value="bar" scope="session" />
而下面没有有效一session.removeAttribute("foo")
:
<c:remove var="foo" scope="session" />
当然,你可以使用访问属性通常的EL,以下打印session.getAttribute("foo")
。
${foo}
无关的具体问题,你应该在你的servlet对工作的厌恶。这不是一个好习惯。 JSTL不提供使业务逻辑轻而易举的所有事情,这将迫使您退回到传统scriptlets。我希望这只是无知。请仔细阅读我们的servlet的wiki页面,了解它如何可以很容易地创建和使用:https://stackoverflow.com/tags/servlets/info另外这个答案可能有点启发:How to avoid Java code in JSP files?
你在JSP代码使用此
<%
HttpSession sess = request.getSession();
if (sess==null)
{
RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp");
dispatcher.forward(request, response);
}
%>
你可以得到会议及其属性
和index.jsp的?ID = 1,你可以使用
request.getParameter("id")
假设你有两个JSP
的index.jsp =获取参数在index.jsp和所述值添加到会议(隐式对象)
<%
String empId = request.getParameter("id");
session.setAttribute("empId", empId);
response.sendRedirect("homePage.jsp");
%>
Now in homePage。JSP =写代码来检索先前与主要EMPID
<%
String employeId = (String)session.getAttribute("empId");
%>
感谢您的回答,但我只想在单个JSP页面上工作。 – abierto
我很欣赏你的评论,但主要问题是我正在处理一些不是由我创建的东西:这意味着我发现了这个“混乱”,并且我认为我没有足够的时间用它来更新它正确的代码。当我阅读这些链接时,你确实是对的,所以非常感谢你。 – abierto