Struts 中bean:present使用方法

    在做一個用Struts做的電子商務項目時,遇到了一個這樣的問題:未登陸用戶購買商品時,要顯示用戶登陸畫面;而登陸用戶購買商品時,則不顯示登陸畫面而顯示用戶信息。可以用struts 1.1 的bean:present實現:

    在JSP頁面頭部一定要加上相應的<%@ taglib 等標記,否則無法實現。我開始時就是忘了加<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> ,而導致無論是使用 present 還是 notPresent ,網頁中都顯示用戶登陸頁面。:)。在jsp頁面實現代碼:

        <%@ page language="java"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

<logic:notPresent name="userid" scope="session">

  // 這裏是登陸表單代碼

</logic:notPresent>

<logic:present name="userid" scope="session">

  <bean:write key="userid" />  //顯示session中的用戶id (userid)

</logic:present>

在Struts的action的 execute 方法裏面可以這樣定義session變量:

String userId="123456";

request.getSession(true).setAttribute("userid",userId);

       (注:request.getSeesion(boolean),這個方法裏面傳了一個boolean值,這個值如果是true,那麼如果當前的request的session不可用,那麼就創建新的會話,如果存在就返回當前的會話。如果參數是false,那麼在request的當前會話不存在的時候就返回null。)

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章