Struts 1 学习笔记-4-2(Struts中提交空字段的测试)

本文介绍了一个使用Struts框架进行表单提交测试的例子。通过创建包含不同字段的表单,观察并记录提交时各字段的接收情况。具体探讨了在表单中存在或不存在<input>元素时,如何利用JSP脚本和EL表达式来处理这些字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果页面中没有<input>,用jsp脚本在后台接受到的字符串为null,以及空对象;如果用EL表达式,则接收到的为空串" ";

如果页面中有<input>,没有输入值,则接收到的均为空串" "。

 

下面是测试代码:

1.struts-config.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
>

<struts-config>
    
    
<form-beans>
        
<form-bean name="blankFieldActionForm" type="com.codedestiny.struts.BlankFieldActionForm">
        
</form-bean>
    
</form-beans>
    
    
<action-mappings>
        
<action path="/blankfield" type="com.codedestiny.struts.BlankFieldTestAction" name="blankFieldActionForm" scope="request">
            
<forward name="success" path="/blankfield-success.jsp"></forward>
        
</action>
    
</action-mappings>
    
    
<message-resources parameter="MessageResources" />
</struts-config>

 

2.index.jsp,只有姓名的<input>输入:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
  
</head>
  
  
<body>

    
<hr>
    
<li>测试空字段</li><br>
    
<form action="blankfield.do">            
        Name : 
<input type="text" name="name"><br>
        
<input type="submit" value="save"><br>
    
</form>        
  
</body>
</html>

 

3.BlankFieldActionForm.java(不只包括姓名,还包括年龄以及性别属性):

package com.codedestiny.struts;

import org.apache.struts.action.ActionForm;

public class BlankFieldActionForm extends ActionForm {
    
    
private String name;
    
private int age;
    
private String sex;
    
    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }

    
public int getAge() {
        
return age;
    }

    
public void setAge(int age) {
        
this.age = age;
    }

    
public String getSex() {
        
return sex;
    }

    
public void setSex(String sex) {
        
this.sex = sex;
    }

    
}

 

4.BlankFieldTestAction.java:

package com.codedestiny.struts;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class BlankFieldTestAction extends Action {

    
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        
        
return mapping.findForward("success");
    }


}

 

5.blankfield-success.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@page import="com.codedestiny.struts.*;"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
  
</head>
  
  
<body>
    
<h1>测试空字段</h1>
    
    
<hr>
    
<li>JSP方式接收</li><br>
       
<%
           BlankFieldActionForm bf 
= (BlankFieldActionForm)request.getAttribute("blankFieldActionForm");    
       
%>
    Name : 
<%=bf.getName()%><br>
    Age : 
<%=bf.getAge()%><br>
    Sex : 
<%=bf.getSex()%><br>
    
       
<hr>
       
<li>JSTL(EL表达式)方式接收</li><br>
    Name : ${blankFieldActionForm.name}
<br>
    Age : ${blankFieldActionForm.age}
<br>
    Sex : ${blankFieldActionForm.sex}
<br>
    
    
    
  
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值