java语句转换为JSTL与EL表达式
if(session.getAttribute("account")!=null){session.removeAttribute("account");}Cookie[...
if(session.getAttribute("account")!=null)
{
session.removeAttribute("account");
}
Cookie[] cookies=request.getCookies();
if(cookies!=null)
{
for(int i=0;i<cookies.length;i++){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
response.sendRedirect("SignOnForm.jsp");
求大神把上面的java语句转换为JSTL与EL表达式 展开
{
session.removeAttribute("account");
}
Cookie[] cookies=request.getCookies();
if(cookies!=null)
{
for(int i=0;i<cookies.length;i++){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
response.sendRedirect("SignOnForm.jsp");
求大神把上面的java语句转换为JSTL与EL表达式 展开
1个回答
展开全部
尝试了下:
由于jstl不能调用方法,因为你的是setMaxAge(0);如果知道有什么name的cookie的话可尝试用c:set value=0来代替(forEach是不行的),但是
response.addCookie(cookies[i]);不能用jstl表示出来
<c:if test="${sessionScope.account!=null}">
<c:remove var= "account" scope="session"/>
</c:if>
<c:set target="${cookie.a}" property="maxAge" value="0" />
<c:set target="${cookie.b}" property="maxAge" value="0" />
<c:set target="${cookie.c}" property="maxAge" value="0" />
<%-- ...... --%>
<%
Cookie[] cookies=request.getCookies();
if(cookies!=null) {
for(int i=0;i<cookies.length;i++){
response.addCookie(cookies[i]);
}
}
%>
<c:redirect url="SignOnForm.jsp">
答案:用jstl是实现不了的。。
像这样的代码不能写在controller吗?不要在jsp写这样的代码
如果实在不想写在controller里。。。1.可以选择用 jstl+jsp:userbean标签实现,自己写一个自定义的javabean,来传Request和response进去,在setpropery的时候完成你上述代码操作。
2。可以用js cookie做。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询