现在在做的项目页面中许多都引入了header.jsp。项目要求:需要根据登陆情况,实时的在header.jsp显示相应的链接。这里,我用到了Struts2中的数据标签,即action标签。该标签用于在JSP页面直接调用一个Action,通过指定executeResult属性参数,将Action的处理结果包含到页面中。以下是我在项目中用到的部分代码:
引入的header.jsp页面中用到的部分代码:
<a title="<s:property value="loginMessage"/>" class="welcome" href="<s:property value="address" />"><s:property value="tip"/></a>
对应GlobalHeaderAction中的具体逻辑:
public class GlobalHeaderAction extends ActionSupport{
private String loginName;
public String tip;
public String loginMessage;
public String address;
public String validateLogin(){
loginName = (String) ActionContext.getContext().getSession().get("userName");
Map request = (Map)ActionContext.getContext().get("request");
request.put("userName",loginName);
if(loginName!=null){
tip = "欢迎"+loginName;
loginMessage = "欢迎访问博客";
address = "blog/visitMyBlogs.action
";
return SUCCESS;
}
else
tip = "您还没登陆";
loginMessage = "请登陆";
address = "login.jsp";
return ERROR;
}
}
Struts.xml中的具体配置:
<action name="validateLoginIn"
class="com.softeye.common.action.GlobalHeaderAction" method="validateLogin">
<result name="success">/header.jsp</result>
<result name="error">/header.jsp</result>
</action>
最后,在需要引用header.jsp的页面中的相应为位置写下:
<s:action name="validateLogin" executeResult="true"></s:action>
同时为了使功能更加符合需求,我在header.jsp页面进行了控制,部分代码如下:
<s:set name="userName" value="#request.userName"/>
<s:if test="#userName!=null">
<a style="color:red" href="<%=path %>/blog/vistMyBlogs">我的博客</a>
[url=<%=path %>/exit]退出[/url]
</s:if>
<s:elseif test="#userName==null">
登录
<a class="nobg" href="register.jsp">注册</a>
</s:elseif>
至此,功能上就基本上完成了需求。
分享到:
相关推荐
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)
基于struts2的自定义分页标签实现的一个demo,连接数据库为Oracle
Struts2_控制标签与数据标签.pdf
struts2 标签库使用说明.Struts2中通用标签可以分为二类:控制标签和数据标签。控制标签用于呈现页面时控制执行流程,数据标签用于访问值栈中的数据。
struts标签实现数据的查询修改
struts批量修改数据struts批量修改数据struts批量修改数据struts批量修改数据struts批量修改数据struts批量修改数据struts批量修改数据struts批量修改数据
Struts2 标签库(IBM资料)Struts2标签库概述; Struts2数据标签; Struts2控制标签; Struts2表单标签; Struts2非表单标签
这是一个对struts一个标签(html:select)的操作,主要为了操作下拉列表控制的数据读取,适合于初学者。。
struts2 标签动态数据用法, 在实际应用中,list往往是action返回的一个List,listKey和listValue来显示第一级下拉框,doubleList往往是一个Map, List<DataObject>>,其中Map中的Key值是第一级下拉框的listKey。
数据标签: action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 debug:生成一个调试链接,当单击该链接时...
Struts框架中提供一系列的自定义标记,用来在视图层实现数据的表示。本章将重点介绍html tags、bean tags、logic tags的使用。 在写网页程序的时候,通常使用标准的HTML元素。在Struts框架中,定义了Struts HTML...
3.2.1 数据标签 当一个请求符合要求时,Struts 2框架就会处理,最终跳转到“success.jsp”页 面并显示其内容,现在利用Struts 2的action标签,可以直接在页面发出该请求,并 在发送请求的页面显示“success.jsp”的...
3.Struts2标签使用前的准备: (1)在要使用标签的jsp页面引入标签库: <%@ taglib uri="/struts-tags" prefix="s"%> (2)在web.xml中声明要使用的标签 这样是struts2 2.3.1.2版本的引入方式 <filter-name>...
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 ...struts9 进行局部性的验证,使用struts2标签库对register.jsp进行改进 strrts10 第七讲struts2中的案例
Action和jsp的开发其实就是对...外面的struts书籍介绍标签和数据传输原理都比较简单,下面我对标签技术和数据传输原理,进行全方位多角度的剖析.希望对各位有所帮助.以此为模版,将大大提高开发效率.以sample为机能名称.
通用标签用来在页面表示的时候控制代码执行的过程,这些标签也允许从Action或者值堆栈中取得数据。例如地域,JavaBeans,URLs,和action。...数据标签管理数据的取得和创建,例如:bean,push,i18n
struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一
5.4 Struts2数据标签简介 88 5.4.1 action标签使用介绍 88 5.4.2 bean标签使用介绍 89 5.4.3 date标签使用介绍 91 5.4.4 debug标签使用介绍 94 5.4.5 include标签使用介绍 95 5.4.6 push标签使用介绍 97 5.4.7 set...