快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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。)
返回类别: 教程
上一教程: 详解JAVA中的指针、引用及对象的CLONE
下一教程: JSP 对 XML 的操作

您可以阅读与"STRUTS 中BEAN:PRESENT使用方式"相关的教程:
· 在Struts中使用JavaBean和List(多行数据)类型属性
· 使用JavaBean创建您的网上日历本
· Struts心得?DispatchAction使用日记
· struts和hibernate整合的一种方法(hibernate作为struts插件)
· 使用JAVABEAN高效处理JSP
    微笑服务 优质保证 索取样品