Java 如何调用此对象以返回它找到的所有字符串?

Java 如何调用此对象以返回它找到的所有字符串?,java,jsp,Java,Jsp,我有下面的代码,它定义了一个getParts方法来在系统中查找给定的部件名和部件号。请注意,此代码来自我们系统的API,因此如果没有人可以帮助,我将删除此问题。我想有人可能会找到解决方案,或者在这一过程中帮助我 <%! private QueryResult getParts( String name, String number ) throws WTException, WTPropertyVetoException { Class cname = wt.pa

我有下面的代码,它定义了一个getParts方法来在系统中查找给定的部件名和部件号。请注意,此代码来自我们系统的API,因此如果没有人可以帮助,我将删除此问题。我想有人可能会找到解决方案,或者在这一过程中帮助我

<%! private QueryResult getParts( String name, String number )
        throws WTException, WTPropertyVetoException {

    Class cname = wt.part.WTPart.class;
    QuerySpec qs = new QuerySpec(cname);
    QueryResult qr = null;

    qs.appendWhere
        (new SearchCondition(cname,
                                 "master>name",
                                 SearchCondition.EQUAL,
                                 name, 
                                 false));
    qs.appendAnd();
    qs.appendWhere
        (new SearchCondition(cname,
                                 "master>number",
                                 SearchCondition.EQUAL,
                                 number, 
                                 false));


    qr = PersistenceHelper.manager.find(qs);

    System.out.println("...found: " + qr.size());

    return qr;
}
%>

但是我想让用户在查找这些部件时有更多的灵活性。所以我设置了条件语句来检查单选按钮。这允许他们按零件名称和零件号进行搜索、查找全部或使用通配符进行搜索。然而,我在实现后两个选项时遇到了困难

为了实现上述目标,我编写了以下代码:

<% 
String partName = request.getParameter("nameInput");
String partNumber = request.getParameter("numberInput");
String searchMethod = request.getParameter("selection");

//out.print(searchMethod);

QueryResult myResult = new QueryResult();

if(searchMethod.equals("search"))
    myResult = getParts(partName, partNumber);

else if(searchMethod.equals("all"))
{
    //Should I write a new function and do this?
    //myResult = getAllParts();
    //or is there a way I could use a for each loop to accomplish this?

}

//else if(searchMethod.equals("wildcard"))
    //get parts matching %wildcard%


while(myResult.hasMoreElements())
{
        out.print(myResult.nextElement().toString());
}

%>

基本上,它接受用户输入并检查他们希望执行的搜索类型。是否有一种简单的方法将所有值传递到myResult对象?对于通配符搜索也是如此?正如我之前所说,在没有访问API的情况下尝试提供帮助可能是徒劳的,但希望不是这样


谢谢

您可以(也应该)重用该函数,但要做到这一点,您需要一个零件名称和编号(因为这是它的输入参数)。因此,对于多结果选项,您需要获得零件名称+编号的列表/集合,并将它们分别提供给函数,然后以最适合您需要的格式收集结果

在JSP中使用业务逻辑是糟糕的设计。Sun建议,尽可能避免使用Scriptlet。