3 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
首先確保session已經(jīng)開(kāi)啟,其次就是確保的session在<html>標(biāo)簽之前(也就是文件第一行)。
使用Request里的Attribute值最簡(jiǎn)單的方法就是直接${AttributeName}或者安全一點(diǎn):${AttributeName!"default Value"}取Application范圍的對(duì)象
<#if Application.myApplicationAttribute?exists>
${Application.myApplicationAttribute}
</#if>

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
FreeMarker 獲取Session中的值 (2010-08-16 17:04:25)轉(zhuǎn)載
今天做WEB項(xiàng)目過(guò)程中,要在FreeMarker的模板文件中(如:registe.ftl),獲取Session是的值,來(lái)判斷是否有用戶登錄,通常一個(gè)Struts2的Action類(lèi),完成跳轉(zhuǎn),跳轉(zhuǎn)到對(duì)應(yīng)的模板文件中。
例如: LoginActon類(lèi) 有
@Result(name="registe",location="registe/registe.ftl"),
則在registe.ftl 文件中,通常只能取LoginAction中對(duì)的屬性,有g(shù)et和set方法,可是怎么取非對(duì)應(yīng)Action中的值呢。
如:
在GoAction類(lèi)中,把用戶登錄的信息放入到Session會(huì)話中。
session.setAttribute("user", username);
現(xiàn)在在registe.ftl頁(yè)面中,想取user的值,怎么取呢?
其實(shí),直接就取出來(lái)了,如在registe.ftl中可以這樣來(lái)用,
<#if user?exists>
<font color="red">已經(jīng)登錄的情況下不可以注冊(cè)新用戶,請(qǐng)注銷(xiāo)后再執(zhí)行此操作!</font>
<#else >
可以進(jìn)行注冊(cè)!
</#if>
看來(lái),F(xiàn)reeMarker的功能相當(dāng)強(qiáng)大,用起來(lái)挺方便的。

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
session可以看成一個(gè)數(shù)組,只是數(shù)組的下標(biāo)是數(shù)字,比如a[1],而session下標(biāo)是一個(gè)字符串,也就是他的key值。 獲取session值: string strSession = Session["user_name"].ToString(); 就這麼簡(jiǎn)單。
- 3 回答
- 0 關(guān)注
- 1490 瀏覽
添加回答
舉報(bào)