2012-12-09 44 views
1

我將數據傳遞給我的servlet通過JSP這樣:將數據傳遞到Servlet的

<a href="DetyraServlet?action=listDetyra&firstName=<c:out value="${user.firstName}"/>">Something</a> 

所以我從我的bean類傳遞FirstName參數(如果我是正確的)。現在我想通過session.getAttribute(「username」)傳遞firstName; 所以我希望做這樣的事情:

<% 
    String user = (String) session.getAttribute("user"); 
%> 

然後

<a href="DetyraServlet?action=listDetyra&firstName="<%=user%>">Something</a> 

但我得到的錯誤,當我試試這個。任何人都可以告訴我什麼是我的不好?

+1

你得到哪些錯誤? – SJuan76

+1

如果「用戶」在會話屬性,你爲什麼會想要將它傳遞的要求嗎?你的意圖是沒有意義的,使你的應用程序弱:惡意用戶可以刪除數據並更改queryString中的用戶名,這可以使用Burp Suite之類的代理工具輕鬆完成。最好的解決方案是不通過查詢字符串傳遞會話數據。 –

回答

1

利用這一點,

<a href="DetyraServlet?action=listDetyra&firstName=<%=user%>">Something</a>

去除多餘的「(雙引號)

正如評論所說,你不需要一個會話變量傳遞給自己的servlet(同一臺服務器)。您可以在servlet代碼本身做session.getAttribute。

+0

該代碼仍然無法正常工作。但謝謝你,因爲你給了我一個想法,通過servlets做到這一點:) – Han