现在在做的项目页面中许多都引入了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>
至此,功能上就基本上完成了需求。
分享到:
相关推荐
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
- 使用Struts2的验证框架,结合标签进行数据验证,提高用户体验。 - 结合 strut2 的拦截器和结果类型,实现更高效的流程控制。 总的来说,Struts2标签和API文档为开发者提供了一种简洁、高效的方式来处理用户界面...
Struts2 标签使用方法 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展性。Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂...
3. 使用`s:submit`标签提交表单,Struts2会自动将表单数据封装到Action中。 4. 在Action的execute方法中处理业务逻辑,然后返回一个结果,比如"success"。 5. 在视图层,可以使用`s:property`标签显示Action返回的...
下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...
Struts 2标签的用法非常广泛,包括表单标签、验证标签、数据标签等。例如,使用Struts 2的表单标签可以快速创建表单,例如: ``` 用户名"/> 密码"/> 登录"/> ``` 这段代码创建了一个简单的登录表单,并使用...
Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据展示、逻辑控制等。在本文中,我们将深入探讨其中的Bean Tags、HTML Tags和Logic Tags。 1. **Bean ...
以下是对Struts 1.2 标签使用的详细介绍: 1. **Bean标签库**: - **bean标签**:用于访问JavaBeans及其属性,或创建新的bean。 - **html标签**:生成与Struts框架交互的HTML输入表单,如`<html:text>`用于创建...
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
在Struts2标签库中,还有许多其他的标签,如、、等,每个标签都有其特定的使用场景和应用。 Struts2标签库提供了一系列的标签,帮助开发者快速构建Web应用程序,并提高了开发效率。但是,为了充分发挥Struts2标签库...
在探讨Struts2.0标签库的使用时,我们首先需要了解Struts2.0框架的基本概念及其在MVC架构中的角色。Struts2.0是基于Java的一个开源Web应用框架,它继承了Struts1.x的优点并在此基础上进行了大量的改进和增强。Struts...
在一个典型的Struts应用中,用户填写表单(使用表单标签),提交后,Struts框架会调用相应的Action处理业务逻辑,然后根据结果使用逻辑标签进行跳转。如果需要验证数据,Validator框架会在用户提交表单时执行校验...
三、标签使用示例 以下是一个简单的用户登录表单的示例: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> 登录页面 用户名" /> 密码" /> 登录" /> 重置" /> ``` 这个例子中,`<s:form>`标签...
在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...
4. **数据标签(Data Tags)**:这些标签用于显示数据,如`<s:debug>`用于调试,显示所有ActionContext中的信息,`<s:dump>`用于输出对象的详细信息。 5. **国际化标签(Internationalization Tags)**:如`...
4. 绑定数据:Struts标签会自动将表单数据绑定到ActionForm对象,然后由Struts控制器处理并转发到相应的结果页面。 四、示例与应用 例如,创建一个简单的登录表单: ```jsp ``` 在这个例子中,`...
这篇简介将深入探讨Struts2中的标签使用。 一、Struts2标签库概述 Struts2的标签库是由一系列预定义的JSP标签组成的,这些标签用于处理表单、显示数据、控制流程等任务,减少了开发者编写大量Java脚本和HTML代码的...
下面将详细阐述Struts2标签库的使用、功能和优势。 1. **Struts2标签库介绍** Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助...