Поиск с использованием java ee (.jsp .java bean.java) - PullRequest
0 голосов
/ 14 марта 2012

Привет, мне интересно, как сделать простой поисковик без использования базы данных

У меня есть 3 страницы StudentSearch.jsp, StudentSearchController.java StudentSearchBean.java

Я не знаю, с чего начать использовать простой MVC в Java. Спасибо.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();


try{

    String  pro_code  = request.getParameter("pro_code");
    String  name  = request.getParameter("name");
    String  price  = request.getParameter("price");

    ArrayList pList = null;
    ArrayList proList = new ArrayList();
    pList  = new ArrayList();

    pList.add(pro_code + ("0000001"));
    pList.add(name + ("sample"));
    pList.add(price + ("1000"));
    proList.contains(pList);

    request.setAttribute("proList" +  session, proList);        

    RequestDispatcher rd = request.getRequestDispatcher("/studentSearch.jsp");
    rd.forward(request, response);

} catch (Exception e) {
   e.printStackTrace();
}

ниже мой jsp, надеюсь, я добавил некоторую информацию (извините за мой плохой английский).

<%
int count=0;
String color = "blue";

if(request.getAttribute("proList")!=null) {

ArrayList plist = (ArrayList)request.getAttribute("proList");
    Iterator lst = plist.iterator();

    while(lst.hasNext())
    {
        if((count%2)==0)
        {
            color="yellow";
        }
        else
        {
            color="brown";
        }
        count++;
        ArrayList proList = (ArrayList)lst.next();

        %>

<%=proList.get(0)%>
<%=proList.get(1)%>
<%=proList.get(2)%>

<%
    }
}

%>



SEVERE: Error starting static Resources java.lang.IllegalArgumentException: Document base C:\Users\cire\Documents\softdev-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\StrutsStarter does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4894)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5074)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

1 Ответ

0 голосов
/ 14 марта 2012

Первая проблема заключается в том, что у вас есть исключение, касающееся кода.Кажется, это проблема при запуске сервера.

Но на фронте кода

proList.contains(pList);

это просто тест, который proList содержит объект pList, он не будет

Если вам нужны все элементы pList в proList, тогда:

proList.addAll(pList);

Если вы хотите добавить pList в качестве элемента к proList, тогда:

proList.add(plist);

Следующий выпуск

request.setAttribute("proList" +  session, proList);

Что вы пытаетесь сделать здесь?Я думаю, вы могли бы, что делать:

request.setAttribute("proList", proList);

На самом деле вы можете переосмыслить большую часть кода выше и пойти что-то вроде:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String  pro_code  = request.getParameter("pro_code");
    String  name  = request.getParameter("name");
    String  price  = request.getParameter("price");

    // do something usefull with the parameters here

    // expose the results to the jsp like so:
    request.setAttribute("pro_code", pro_code);  
    request.setAttribute("name", name);  
    request.setAttribute("price",price); 
    RequestDispatcher rd = request.getRequestDispatcher("/studentSearch.jsp");
    rd.forward(request, response);
}

отметить отсутствие catch(Exception e)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...