Java 使用JSP和servlet显示当前日期

Java 使用JSP和servlet显示当前日期,java,jsp,servlets,Java,Jsp,Servlets,我正在做一个关于Web编程(JSP和servlet)的家庭作业,但我看不出代码中有什么错误 我的index.jsp是: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w

我正在做一个关于Web编程(JSP和servlet)的家庭作业,但我看不出代码中有什么错误

我的index.jsp是:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Data (sem JavaBeans)</title>
</head>
<body>

<a href="Data">Atualizar data</a>
<br/>

<%

    if (request.getAttribute("dia") != null)
    {
        int dia = (Integer) request.getAttribute("dia");
        int mes = (Integer) request.getAttribute("mes");
        int ano = (Integer) request.getAttribute("ano");
        int hora = (Integer) request.getAttribute("hora");
        int minuto = (Integer) request.getAttribute("minuto");

        String sDia = String.format("%2d",Integer.toString(dia));
        String sMes = String.format("%2d",Integer.toString(mes));
        String sAno = String.format("%4d",Integer.toString(ano));
        String sHora = String.format("%2d",Integer.toString(hora));
        String sMinuto = String.format("%2d",Integer.toString(minuto));

        out.print("A hora atual é: " + sDia + "/" + sMes + "/" + sAno + " - " + sHora + ":" + sMinuto);
    }
%>
</body>
</html>
我得到的错误是:

java.util.IllegalFormatConversionException: d != java.lang.String
但我看不出哪里不对

提前谢谢! 加布里埃尔

像这样的台词

String sDia = String.format("%2d",Integer.toString(dia));
去掉
Integer.toString(..)
调用。中使用的
d
模式

%2d
需要一个整数值,但传递给它的是一个
字符串

干脆

String sDia = String.format("%2d", dia);
String sDia = String.format("%2d", dia);