首页 > 开发 > JSP > 正文

JSP动态网页入门:表单输入例子

2020-02-05 13:51:20
字体:
来源:转载
供稿:网友

我们将创建一个web页面,它有一个输入表单,用户可以输入一个股票代号以获得出当前股票价格(有20分钟延迟)。如果输入有误,则显示错误提示页面。

quote.jsp

首先,用以下代码创建quote.jsp页面并将其保存在jswdk安装目录下的web 目录中。大多数的页面是含jsp代码的标准html。第六行是一个页面指令,表明将把所有错误发送到“errorpage.jsp”文中。第13到15行是一个脚本段,主要说明仅当有“symbol”参数时才显示表格。“if”代码段在32到34行结束。第17行定义了所用的javabean,第18行根据参数加载其符号属性。第27行到29行显示bean的属性。除了"if"段,实际上并不涉及其它java代码。

<html>
<head>
<title>stock quotes</title>
</head>
<body>
<%@ page errorpage="errorpage.jsp" %>
<form action="quote.jsp"
method="get"> <p>enter symbol: <input size="20" name="symbol"><input
type="submit" value="submit"></p>
</form>
<%
if (request.getparameter("symbol") != null) {
%>
<jsp:usebean id="quotes" scope="page" class="com.jguru.quotes" />
<jsp:setproperty name="quotes" property="*" />
<table border="1">
<tr>
<th align="left">symbol</th>
<th align="left">name</th>
<th align="left">price</th>
</tr>
<tr>
<td><jsp:getproperty name="quotes" property="symbol" /></td>
<td><jsp:getproperty name="quotes" property="name" /></td>
<td><jsp:getproperty name="quotes" property="price" /></td>
</tr>
</table>
<%
}
%>
</body>
</html>

errorpage.jsp

下一步,将下面的jsp源代码保存到web页面目录中的“errorpage.jsp”文件中。提示“this is an error page”为第一行,它将页面指令iserrorpage属性设置为真。上一页面说明了错误网页的位置,本页则说明这就是错误网页。jsp文件中的其它jsp专用代码用来访问隐含例外对象。页面只显示其值:

<%@ page iserrorpage="true" %>
<html>
<head>
<title>error page</title>
</head>
<body>
<h1>our error page</h1></font>
<!-- print exception -->
we got ourselves an exception:
    <%= exception %>
<a href="quote.jsp">restart</a>
</body>
</html>

quotes.java

quotes javabean 通过yahoo资源获取股票价格。需将源代码quotes.java保存到jswdk安装目录下“classes/com/jguru”目录中的“quotes.java”文件中。从这一步起,将由jsdk中的javac编译器来编译它。

package com.jguru;
import java.util.*;
import java.net.*;
import java.io.*;
public class quotes {
  string symbol;
  string name;
  string price;
  public void setsymbol(string symbol) {
    this.symbol = symbol;
    getsymbolvalue(symbol);
  }
  public string getsymbol() {
    return symbol;
  }
  public string getname() {
    return name;
  }
  public string getprice() {
    return price;
  }
  private void getsymbolvalue(string symbol) {
    string urlstring =
    "http://quote.yahoo.com/download/javasoft.beans?symbols=" +
    symbol + "&format=nl";
  try {
    url url = new url(urlstring);
    urlconnection con = url.openconnection();
    inputstream is = con.getinputstream();
    inputstreamreader isr = new inputstreamreader(is);
    bufferedreader br = new bufferedreader(isr);
    string line = br.readline();
    stringtokenizer tokenizer = new stringtokenizer(line,",");
    name = tokenizer.nexttoken();
    name = name.substring(1, name.length()-2); // remove quotes
    price = tokenizer.nexttoken();
    price = price.substring(1, price.length()-2); // remove quotes
  } catch (ioexception exception) {
    system.err.println("ioexception: " + exception);
  }
 }
}

当创建了这两个jsp文件,以及建立了javabean源代码文件并将其编译后,你就可以从http://localhost:8080/quote.jsp装载“quote.jsp”文件以查看结果(假设你没有更改jswdk设置以使用不同的端口)。这个页面当然可以做得更加漂亮,但它的确已经达到了预定目的,同时很好地演示了jsp的功能。

  • 网站运营seo文章大全
  • 提供全面的站长运营经验及seo技术!
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表