java后台逻辑问题-求大神帮忙解释下这段代码。

问题描述

求大神帮忙解释下这段代码。

这是一个从表添加页面的代码。currentx是当前页数。我想问下 st st1 st2 st3是什么意思,就是split(;);这个方法我不是很清楚什么意思,还有下面的!ss.equals("t") t是什么。 传参什么的我晓得。

@RequestMapping("/addProcess.do")
public String addProcessMaintenance(String currentx, String ids, String idstr, String numberstr, String namestr, String overtimestr, HttpServletRequest request, Long pageNo, Model model, String businessStatus,String nameid){
String[] str = numberstr.split(";");
String[] str1 = namestr.split(";");
String[] str2 = overtimestr.split(";");
String[] str3 = idstr.split(";");
int current = Integer.parseInt(currentx);

    for(int i = 0; i < str3.length; i++){
        AccountingProcessChild pm = new AccountingProcessChild();
        String ss = str3[i];
        if(!ss.equals("t")){
            pm = accountingProcessService.findProcessChildById(str3[i]);
            try{
                pm.setNode(Integer.parseInt(str[i]));
                pm.setNodeName(str1[i]);
                pm.setOverTimeNumber(Integer.parseInt(str2[i]));
            }catch(Exception e){
                System.out.println("信息错误,请联系管理员!");
            }

            accountingProcessService.update(pm);
        }else{
            try{
                pm.setNode(Integer.parseInt(str[i]));
                pm.setNodeName(str1[i]);
                pm.setOverTimeNumber(Integer.parseInt(str2[i]));
                pm.setParent(ids);
            }catch(Exception e){
                System.out.println("信息错误,请联系管理员!");
            }

            accountingProcessService.save(pm);
        }
    }

    AccountingProcess ap = accountingProcessService.findById(ids);
    Page<AccountingProcessChild> page = null;
    page = accountingProcessService.findProcessChild(ids, current);
    model.addAttribute("page", page);
    model.addAttribute("ap", ap);
    model.addAttribute("businessStatus", businessStatus);

    return "/accounting/accountingProcessEdit";
}

解决方案

split是按某个字符,将字符串分割为数组

解决方案二:

 String[] str = numberstr.split(";");
String[] str1 = namestr.split(";");
String[] str2 = overtimestr.split(";");
String[] str3 = idstr.split(";");

这里的逻辑你自己才知道吧。
这里作用将数据split 出来。

这里的str3[i];
这个来判断是否和 t 字符串相等。

解决方案三:

public String[] split(String regex,
int limit)根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。

limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果:

Regex Limit 结果
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }

调用此方法的 str.split(regex, n) 形式与以下表达式产生的结果完全相同:

Pattern.compile(regex).split(str, n)

参数:
regex - 定界正则表达式
limit - 结果阈值,如上所述
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4

解决方案四:

st st1 st2 st3这就是定义的几个变量,对应着指定字符串的split操作的返回结果。
而split是对字符串切片的一个函数,将指定的字符串按照某个规则进行分割。
例如"1,2,3,4".split(",")将字符串"1,2,3,4"按","逗号切割后就得到一个数组[1,2,3,4]了。详情参考jdk的split api.

时间: 2024-08-03 21:04:31

java后台逻辑问题-求大神帮忙解释下这段代码。的相关文章

redirect-求大神帮忙解释下面这段代码,尤其是问号后边的,谢谢啦

问题描述 求大神帮忙解释下面这段代码,尤其是问号后边的,谢谢啦 求大神帮忙解释下面这段代码,尤其是问号后边的,谢谢啦 <result type="redirect" name="success">/Module/QuZhengGuiZe/List.action?pageLink=${pager.pageLinkUrl}</result> 解决方案 返回结果为success url地址重定向( type="redirect"

android-小白求助,求大神帮忙解释下加点注释~谢谢

问题描述 小白求助,求大神帮忙解释下加点注释~谢谢 package com.hanway.oa.activity; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.

代码分析-JAVA 求大神帮看下这段代码 怎么修改 救命啊

问题描述 JAVA 求大神帮看下这段代码 怎么修改 救命啊 真心看不懂 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/';

json-$.getJSO求大神帮忙写下ASP页面代码 小弟不胜感激

问题描述 $.getJSO求大神帮忙写下ASP页面代码 小弟不胜感激 var ghost = window.location.hostname+"":2258"";function Guard() { this.Users = new Array(); this.GetCount = function () { return this.Users.length; } this.FindObject = function (name) { var u = null;

编程语言-我要用C++实现这段代码 求大神帮解释下R语言代码的意思

问题描述 我要用C++实现这段代码 求大神帮解释下R语言代码的意思 OrgData=read.csv("DownlinkPower_train.csv",header=T) TestData=read.csv("DownlinkPower_test.csv",header=T) #remove abnormal data, optional //移除异常数据 OrgData = subset(OrgData, OrgData[,1] > 0) TestData

树形 递归-java 递归报错 求大神帮忙

问题描述 java 递归报错 求大神帮忙 private List<Post> getPostLower(List<Post> PostTops){ List<Post> postAll=new ArrayList<Post>(); // 上级 for(Post post:PostTops){ //查询到下级 List<Post> posts=basService.queryPostByParentId(post.getPostId()); //

javascript-js怎么获取所选择的答案字符串并传递到后台,菜鸟求大神帮忙

问题描述 js怎么获取所选择的答案字符串并传递到后台,菜鸟求大神帮忙 ! 解决方案 你这个html怎么设计的?每个后面的问题都嵌套在前面一个问题里.也没有id,你这不是自己找麻烦么 解决方案二: 如果不是checkbox而是图片,建议写个隐藏域,选中时给隐藏域赋值,用隐藏域给后台传值 解决方案三: ajax,不过你这个页面代码蛮奇怪的.能加个id么 解决方案四: 源码

页面-java web网上书店有个问题 求大神帮忙看下

问题描述 java web网上书店有个问题 求大神帮忙看下 前一个页面一个表单传值, 请输入收货地址: 后面在OrderServlet中处理 其中的数据库中的操作没有问题 但是连到OrderServlet中出现求大神帮忙!!!!! 解决方案 你点击继续看看什么效果啊,如果有问题就贴出来 解决方案二: 没有效果就是停在这个servlet了,而且数据库方法也没有实现 解决方案三: 数据库方法也没有实现

java-问问大神们 我刚开始学面向对象 求大神帮忙解释一下

问题描述 问问大神们 我刚开始学面向对象 求大神帮忙解释一下 这是自己创建的一个类 然后有参无返回都运行成功了,就是有参数有返回值的那里出问题了 运行不了 按运行键后 控制台出的程序是别的 请问大神们这是什么原因?这是程序 求大神们帮帮忙 解决方案 输出了什么?是错误还是什么信息. 就你的程序没有问题. 解决方案二: 是不是你运行的就不是这个工程啊,你看看你选对当前工程了吗 解决方案三: 把输出的信息发出来下 解决方案四: 编译并运行的文件不对,你点击有参有反回值.java右键run试试. 解决