JavaWeb —— 数组转字符串的 JavaBean

在程序开发中,将数组转为字符串是经常使用的,如表单中的复选框按钮,在提交之后就是一个数组对象,由于数组对象在处理中不方便,因此实际应用中通过将其转换成字符串后再进行处理。

以下实例为将数组转换成字符串的实际应用,实现对问卷调查表单中复选框的数值的处理

1.创建 Paper 类,进行封装

package javabean;

public class Paper {
    private String[] languages;
    private String[] technics;
    private String[] parts;
	
    public Paper() {
    }

    public String[] getLanguages() {
        return languages;
    }
    public void setLanguages(String[] languages) {
        this.languages = languages;
    }
    public String[] getTechnics() {
        return technics;
    }
    public void setTechnics(String[] technics) {
        this.technics = technics;
    }
    public String[] getParts() {
        return parts;
    }
    public void setParts(String[] parts) {
        this.parts = parts;
    }
}

2.创建将数组转换为字符串的 JavaBean 对象,在该类中编写 arr2Str() 方法,将数组对象转换为指定格式字符串,通过 for 循环遍历数组,将数组元素转换成 " , " 分隔的字符串对象,由于 String 对象不可变,每次改变长度都需新建一新的 String 对象,而 StringBuffer 是可变的字符序列,因此在字符串经常修改的地方使用 StringBuffer

package javabean;

public class Convert {
    public String arr2Str(String[] arr) {
        StringBuffer sb=new StringBuffer();//StringBuffer 可变的字符序列
        if(arr!=null && arr.length>0) {//判断arr是否为有效数组
            for(String s:arr) {//遍历数组
                sb.append(s);//将字符串追加到StringBuffer中
                sb.append(",");
            }
		    
            if(sb.length()>0) {//判断字符串长度是否有效
                sb=sb.deleteCharAt(sb.length()-1);//截取字符
            }
        }
		
        return sb.toString();
    }
}

3.创建主页面,在页面中存放所需表单,对于属性相同的 checkbox 值,会被转换为一个数组对象

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8" %>
<form action="reg.jsp" method="post">
    <h1>调查问卷</h1> <hr>
    <ul>
        <li>经常使用哪种编程语言开发:</li>
        <li>
            <input type="checkbox" name="languages" value="Java"> Java
            <input type="checkbox" name="languages" value="C++"> C++
            <input type="checkbox" name="languages" value="Python"> Python
            <input type="checkbox" name="languages" value="PHP"> PHP
        </li>		
    </ul>
    <ul>
        <li>目前掌握的技术:</li>
        <li>
            <input type="checkbox" name="technics" value="JSP"> Java
            <input type="checkbox" name="technics" value="C++"> C++
            <input type="checkbox" name="technics" value="Python"> Python
            <input type="checkbox" name="technics" value="PHP"> PHP
        </li>		
    </ul>	
    <ul>
        <li>在学习中哪一部分感觉有困难:</li>
        <li>
            <input type="checkbox" name="parts" value="Java"> Java
            <input type="checkbox" name="parts" value="C++"> C++
            <input type="checkbox" name="parts" value="Python"> Python
            <input type="checkbox" name="parts" value="PHP"> PHP
        </li>		
    </ul>
    <input type="submit" value="提交">
</form>

4.创建名为 reg.jsp 的页面,用于对 index.jsp 页面表单提交请求进行处理,将用户所提交的结果输出到页面中

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<jsp:useBean id="paper" class="javabean.Paper"/>
<jsp:useBean id="convert" class="javabean.Convert"/>
<jsp:setProperty property="*" name="paper"/>
<h1>调查结果</h1> <hr/>
<ul>
    <li> 经常使用的编程语言:<%= convert.arr2Str(paper.getLanguages()) %> </li>
    <li> 目前掌握的技术:<%= convert.arr2Str(paper.getTechnics()) %> </li>
    <li> 有困难的部分:<%= convert.arr2Str(paper.getParts()) %> </li>
</ul>

运行界面:

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值