动态生成html当中的组件
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
有时html里的字数太多, 而且有一定的规律时,我们就可以用如下的方法产生动态的内容。
例 1.4.1
test.jsp:
<%@ page import="java.util.Date"%>
<%@ page import="java.text.*"%>
<%@ page contentType="text/html; charset=GBK" %>
<jsp:useBean id="se" class="com.GenerateSelect" scope="page"/>
<html>
<body >
<%
int d=Integer.parseInt(new SimpleDateFormat("dd").format(new Date()));
int y=Integer.parseInt(new SimpleDateFormat("yyyy").format(new Date()));
int m=Integer.parseInt(new SimpleDateFormat("MM").format(new Date()));
String str=se.set(y,m,d);
%>
<%=str%>
</body>
</html>
package com;
public class GenerateSelect {
public String set(int y,int m, int d) {
String addr = "<form method=post action=date name=date>";
addr += "<select name='year' size='1' style='font-size: 9pt' > ";
for (int i = y-25; i <= y+25; i++) {
if (y == i) {
addr += "<option value=" + i + " selected> " + i + "年 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "年 </option > ";
}
}
addr += "</select>";
addr += "<select name='month' size='1' style='font-size: 9pt' > ";
for (int i = 1; i <= 12; i++) {
if (m == i) {
addr += "<option value=" + i + " selected> " + i + "月 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "月 </option > ";
}
}
addr += "</select>";
addr += "<select name='day' size='1' style='font-size: 9pt' > ";
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 | m == 12) {
for (int i = 1; i <= 31; i++) {
if (d == i) {
addr += "<option value=" + i + " selected> " + i + "日 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "日 </option > ";
}
}
}
else if (m == 4 || m == 6 || m == 9 || m == 11) {
for (int i = 1; i <= 30; i++) {
if (d == i) {
addr += "<option value=" + i + " selected> " + i + "日 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "日 </option > ";
}
}
}
else if (m == 2) {
if (y % 4 != 0) {
for (int i = 1; i <= 28; i++) {
if (d == i) {
addr += "<option value=" + i + " selected> " + i + "日 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "日 </option > ";
}
}
}
else if (y % 100 == 0 && y % 400 != 0) {
for (int i = 1; i <= 28; i++) {
if (d == i) {
addr += "<option value=" + i + " selected> " + i + "日 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "日 </option > ";
}
}
}
else {
for (int i = 1; i <= 29; i++) {
if (d == i) {
addr += "<option value=" + i + " selected> " + i + "日 </option > ";
}
else {
addr += "<option value=" + i + "> " + i + "日 </option > ";
}
}
}
}
addr += "</select><input type=submit value=submit /></form>";
return addr;
}
}
package com;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DatePro extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(""+request.getParameter("year"));
}
}
当我们运行test.jsp时,查看浏览器中的源文件时:
<html>
<body >
<form method=post action=date name=date><select name='year' size='1' style='font-size: 9pt' > <option value=1992> 1992年 </option > <option value=1993> 1993年 </option > <option value=1994> 1994年 </option > <option value=1995> 1995年 </option > <option value=1996> 1996年 </option > <option value=1997> 1997年 </option > <option value=1998> 1998年 </option > <option value=1999> 1999年 </option > <option value=2000> 2000年 </option > <option value=2001> 2001年 </option > <option value=2002> 2002年 </option > <option value=2003> 2003年 </option > <option value=2004> 2004年 </option > <option value=2005> 2005年 </option > <option value=2006> 2006年 </option > <option value=2007> 2007年 </option > <option value=2008> 2008年 </option > <option value=2009> 2009年 </option > <option value=2010> 2010年 </option > <option value=2011> 2011年 </option > <option value=2012> 2012年 </option > <option value=2013> 2013年 </option > <option value=2014> 2014年 </option > <option value=2015> 2015年 </option > <option value=2016> 2016年 </option > <option value=2017 selected> 2017年 </option > <option value=2018> 2018年 </option > <option value=2019> 2019年 </option > <option value=2020> 2020年 </option > <option value=2021> 2021年 </option > <option value=2022> 2022年 </option > <option value=2023> 2023年 </option > <option value=2024> 2024年 </option > <option value=2025> 2025年 </option > <option value=2026> 2026年 </option > <option value=2027> 2027年 </option > <option value=2028> 2028年 </option > <option value=2029> 2029年 </option > <option value=2030> 2030年 </option > <option value=2031> 2031年 </option > <option value=2032> 2032年 </option > <option value=2033> 2033年 </option > <option value=2034> 2034年 </option > <option value=2035> 2035年 </option > <option value=2036> 2036年 </option > <option value=2037> 2037年 </option > <option value=2038> 2038年 </option > <option value=2039> 2039年 </option > <option value=2040> 2040年 </option > <option value=2041> 2041年 </option > <option value=2042> 2042年 </option > </select><select name='month' size='1' style='font-size: 9pt' > <option value=1> 1月 </option > <option value=2> 2月 </option > <option value=3> 3月 </option > <option value=4> 4月 </option > <option value=5 selected> 5月 </option > <option value=6> 6月 </option > <option value=7> 7月 </option > <option value=8> 8月 </option > <option value=9> 9月 </option > <option value=10> 10月 </option > <option value=11> 11月 </option > <option value=12> 12月 </option > </select><select name='day' size='1' style='font-size: 9pt' > <option value=1> 1日 </option > <option value=2> 2日 </option > <option value=3> 3日 </option > <option value=4> 4日 </option > <option value=5 selected> 5日 </option > <option value=6> 6日 </option > <option value=7> 7日 </option > <option value=8> 8日 </option > <option value=9> 9日 </option > <option value=10> 10日 </option > <option value=11> 11日 </option > <option value=12> 12日 </option > <option value=13> 13日 </option > <option value=14> 14日 </option > <option value=15> 15日 </option > <option value=16> 16日 </option > <option value=17> 17日 </option > <option value=18> 18日 </option > <option value=19> 19日 </option > <option value=20> 20日 </option > <option value=21> 21日 </option > <option value=22> 22日 </option > <option value=23> 23日 </option > <option value=24> 24日 </option > <option value=25> 25日 </option > <option value=26> 26日 </option > <option value=27> 27日 </option > <option value=28> 28日 </option > <option value=29> 29日 </option > <option value=30> 30日 </option > <option value=31> 31日 </option > </select><input type=submit value=submit /></form>
</body>
</html>