Дата не отображается при использовании с сервлетами - PullRequest
0 голосов
/ 29 марта 2012

В приведенной ниже программе последняя строка кода показывает ошибку.df и d не могут быть разрешены.Я использовал ту же логику в обычной Java-программе и получил вывод.Может кто-нибудь объяснить проблему в этом.

package com.first;
import java.io.*;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AgeCalc extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public AgeCalc() {
        super();
        }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        //request parameters
        String name1=request.getParameter("name1");
        try {
        DateFormat df=new SimpleDateFormat("dd-MMM-yy");
        String dob=request.getParameter("dob");
        Date d=df.parse(dob);

        }
        catch(Exception e){}
        out.println("<html><h3>The name entered is </h3></html>"+name1);
        out.println("<html><body>and the date of birth is </body></html>" +df.format(d));

    }
}

1 Ответ

2 голосов
/ 29 марта 2012
Переменные

d и df определены внутри блока try и не видны вне его.Либо объявляйте их снаружи:

DateFormat df = null;
Date d = null;
try {
    df=new SimpleDateFormat("dd-MMM-yy");
    String dob=request.getParameter("dob");
    d=df.parse(dob);
} catch(Exception e){
}
out.println("<html><h3>The name entered is </h3></html>"+name1);
out.println("<html><body>and the date of birth is </body></html>" +df.format(d));

или лучше , оберните все в один огромный try блок:

try {
    DateFormat df=new SimpleDateFormat("dd-MMM-yy");
    String dob=request.getParameter("dob");
    Date d=df.parse(dob);
    out.println("<html><h3>The name entered is </h3></html>"+name1);
    out.println("<html><body>and the date of birth is </body></html>" +df.format(d));
} catch(Exception e){
}

Это базовая Java, не оченьсервлетам.Также вы , пожалуйста, делаете что-то с исключением, по крайней мере:

} catch(Exception e){
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...