Struts1逻辑标签实战:logic空值检查提升效率

需积分: 11 2 下载量 78 浏览量 更新于2024-09-12 收藏 63KB DOC 举报
"struts1中的logic标签用法" 在Struts1框架中,logic标签库是用于处理条件逻辑的一种强大的工具,它简化了在JSP页面中进行条件判断的复杂性,使得开发者能够更专注于业务逻辑,而不是编写大量的Java脚本。通过使用logic标签,可以有效地减少代码量,提高开发效率,并使JSP页面更加整洁,符合MVC设计模式的分离关注点原则。 在给定的文件中,我们看到一个名为`EmptyPresentTest`的Action类,它是Struts1中的核心组件,负责处理用户的请求。在这个类中,`execute`方法被覆盖,该方法是Struts1框架调用来执行特定业务逻辑的地方。在这个例子中,`execute`方法将一些属性设置到HttpServletRequest对象中,这些属性将在JSP页面中被logic标签使用。 `request.setAttribute()`方法被用来设置三个属性:"att2"、"att3"和"att4"。"att2"是一个ArrayList实例,"att3"是一个字符串,而"att4"则是一个空字符串。这些属性值将在JSP页面上通过logic标签进行检查,以确定它们是否为空或非空。 接着,我们看到了JSP文件的部分内容。这里使用了`<logic:empty>`和`<logic:notEmpty>`两个标签来检查请求范围内的属性。这两个标签是logic标签库的一部分,用于判断指定的属性是否为空。 `<logic:empty name="att1">`标签会检查"att1"属性是否为空或者为null。如果"att1"不存在或者其值为null或空字符串,那么标签内部的内容将会被渲染到页面上。在例子中,如果"att1"为空,将显示"att1为空"的绿色字体文本。 相反,`<logic:notEmpty name="att1">`标签会检查"att1"属性是否非空。如果"att1"有值,那么标签内部的内容会被展示。这里没有提供`<logic:notEmpty>`标签闭合的部分,但通常会包含当"att1"不为空时需要显示的HTML内容。 Struts1的logic标签库提供了丰富的条件控制标签,如`<logic:equal>`、`<logic:notEqual>`、`<logic:greaterThan>`等,使得开发者可以在JSP页面上方便地进行条件判断,极大地提高了开发效率和代码可读性。理解并熟练运用这些标签是掌握Struts1框架的关键,对于开发基于Struts1的Web应用至关重要。
2007-12-29 上传
我就是靠这个文档实现logic:iterate的循环的
struts 标签 logic:iterate使用 logic:iterate

第一页 是struts官方的说明,
第二页 是个例子
第三页 是我实现的arrayList放入标签的方法。
这是页面文件
<%@ page language="java"
import="java.util.*,cn.edu.bit.zgc2d.accountQuery.*" pageEncoding="GBK"%>
<%@ 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"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>




<%@ include file="../menu.txt"%>









账务查询


基本信息查询。














基本信息查询。







<logic:iterate id="item" name="list" indexId="index">





</logic:iterate>

帐号

帐户别名

是否为主帐户

"><bean:write name="item" property="account" />

<bean:write name="item" property="other_name" />

<bean:write name="item" property="is_main_account" />

</body>
</html>
这是action
public class InformationAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
InformationForm informationForm = (InformationForm) form;// TODO Auto-generated method stub
//业务开始
Connection conn = null; Statement st = null; ResultSet rs = null;
try {
db db = new db();
// 打开数据库
conn = db.conn();
// 创建st
st = conn.createStatement();
// 组织sql并执行
HttpSession session_account = request.getSession();
String account = (String) session_account.getAttribute("account");
String sql = "select * from account where main_account=" + account
+ "order by is_main_account desc";
rs = st.executeQuery(sql);
// 组建arrayList列表
ArrayList list = new ArrayList();
while (rs.next()) {
accountBean bean = new accountBean();
bean.setArea(rs.getString("area")); bean.setKind(rs.getInt("kind")); bean.setAccount(rs.getString("account")); bean.setMain_account(rs.getString("main_account")); bean.setType(rs.getInt("type")); bean.setOther_name(rs.getString("other_name")); bean.setPassword(rs.getString("password")); bean.setIs_main_account(rs.getInt("is_main_account")); bean.setMoney(rs.getString("money")); bean.setId(rs.getInt("id"));
list.add(bean);
}
HttpSession session = request.getSession();
session.setAttribute("list", list);
return mapping.findForward("success");
} catch (Exception e) { e.printStackTrace(); }
//业务结束
return null;
}
}//自己将需要的包导入
bean文件
package cn.edu.bit.zgc2d.accountQuery;

public class accountBean {
private String area;
private int kind;
private String account;
private String main_account;
private int type;
private String other_name;
private String password;
private int is_main_account;
private String money;
private int id;
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public int getKind() {
return kind;
}
public void setKind(int kind) {
this.kind = kind;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getMain_account() {
return main_account;
}
public void setMain_account(String main_account) {
this.main_account = main_account;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getOther_name() {
return other_name;
}
public void setOther_name(String other_name) {
this.other_name = other_name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getIs_main_account() {
return is_main_account;
}
public void setIs_main_account(int is_main_account) {
this.is_main_account = is_main_account;
}
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}