Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在jsp中返回多个值_Java_Jsp_Return Value - Fatal编程技术网

Java 在jsp中返回多个值

Java 在jsp中返回多个值,java,jsp,return-value,Java,Jsp,Return Value,如何在jsp java文件中返回多个值 我想返回error1和error,但这不起作用 我试过这么做: <%! String validate(String input) { String error = ""; int receptnr = 0; String error1 = ""; int varenr = 0; try { receptnr = Integer.

如何在jsp java文件中返回多个值

我想返回error1和error,但这不起作用

我试过这么做:

<%!

String validate(String input) {
        String error = "";
        int receptnr = 0;
        String error1 = "";
        int varenr = 0;
        try {
                    receptnr = Integer.parseInt(input);
                    varenr= Integer.parseInt(input);

        } catch (Exception e) {
                    error = error +"Receptnummeret skal være et tal";
                    error1 = error1 +"Varenummer skal være et tal";
        }
        if (receptnr > 99999999||receptnr<1||varenr > 99999999||varenr<1)
                        error = error + " Receptnummeret skal være mellem 1 og 99999999 år";
                        error1 = error1 + " Varenummeret skal være mellem 1 og 99999999 år";
        return error, error1;


}
%>
9999999 | |接收号9999999 | |瓦伦尔

稍后我想返回更多值

用java无法返回多个值

您可以做的是将返回类型更改为List,并在您的案例中返回字符串列表


首先,请看一看

您不能像那样返回多个值。您需要使用Collection返回多个值,例如, 代码示例:

List<String> validate(String input) {
List<String> list= new ArrayList<String>();
String err="someErr";
list.add(err);

String err2="someErr";
list.add(err2);
return list;
}
列表验证(字符串输入){
列表=新的ArrayList();
字符串err=“someErr”;
列表。添加(错误);
字符串err2=“someErr”;
列表。添加(err2);
退货清单;
}

如果您使用的是java7或更高版本,则可以使用

void java.lang.Throwable.addSuppressed(Throwable exception)
并通过抛出外部异常使外部异常包含多个异常


另一种方法是创建一个可以在列表中包含多个错误的类,然后返回该类的对象而不是字符串。

这里您可以做的是,您可以在任何集合框架(如ArrayList或vector)中添加此错误,如下所示:

        List<String> validate(String input) {
        ArrayList<String> list1 = new ArrayList<String>();

        list1.add(error);
        list1.add(error1);

    return list1;
}
列表验证(字符串输入){
ArrayList list1=新的ArrayList();
列表1.添加(错误);
列表1.添加(错误1);
返回列表1;
}
您的书写类型将是collection。

您可以尝试以下方法:

String[] validate(String input) {
    String[] errors = new String[2];
    // ur logic here
    // errors[0] = "some error message";
    // so on
    return errors;
}

将其包含在jsp页面中

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

在jsp页面的下面两行中键入要打印java变量的位置。 不要忘记将jstl jar包含到项目库文件夹中

<c:out value="<%=error%>"/>
<c:out value="<%=error1%>"/>


在java中,一个方法只能返回一个对象或原语。您可以通过某些分隔符返回值,即返回error+“,“+error1”,或者使用集合API返回多个值。您可以像ArrayList.Simple这样使用集合,使用字符串或对象数组作为返回类型..以及任何情况,但决不要在JSP中使用Sciplets。从来没有人推荐过它。