Unterminated <%@ page tag 急急急!!!!

 这些是我做的order.jsp程序段!

<%@ page contentType="text/html;charset=gb2312"   language="java" import="java.sql.*" ,import="mvc.*"%>
<jsp:useBean id="db" scope="page" class="mvc.DbOrder"/>
<%
session.removeAttribute("cxtj");
%>
<html>

<script language=javascript>
var DS_x,DS_y;

function dateSelector() //构造dateSelector对象,用来实现一个日历形式的日期输入框。
{
var myDate=new Date();
this.year=myDate.getFullYear()+1; //定义year属性,年份,默认值为当前系统年份。
this.month=myDate.getMonth()+1; //定义month属性,月份,默认值为当前系统月份。
this.date=myDate.getDate(); //定义date属性,日,默认值为当前系统的日。
this.inputName=''; //定义inputName属性,即输入框的name,默认值为空。注意:在同一页中出现多个日期输入框,不能有重复的name!
this.display=display; //定义display方法,用来显示日期输入框。
}

function display() //定义dateSelector的display方法,它将实现一个日历形式的日期选择框。
{
var week=new Array('日','一','二','三','四','五','六');

document.write("<style type=text/css>");
document.write(" .ds_font td,span { font: normal 12px 宋体; color: #000000; }");
document.write(" .ds_border { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }");
document.write(" .ds_border2 { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }");
document.write("</style>");

document.write("<input style='text-align:center;' id='DS_"+this.inputName+"' name='"+this.inputName+"' value='"+this.year+"-"+this.month+"-"+this.date+"' title=双击可进行编缉 οndblclick='this.readOnly=false;this.focus()' οnblur='this.readOnly=true' readonly>");
document.write("<button style='width:60px;height:18px;font-size:12px;margin:1px;border:1px solid #A4B3C8;background-color:#DFE7EF;' type=button οnclick=this.nextSibling.style.display='block' οnfοcus=this.blur()>选择日期</button>");

document.write("<div style='position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible' onselectstart='return false;'>");
document.write(" <div style='position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px solid #245B7D;' class=ds_font>");
document.write(" <table cellpadding=0 cellspacing=1 width=140 height=20 bgcolor=#CEDAE7 οnmοusedοwn='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' οnmοuseup='releaseCapture();' οnmοusemοve='dsMove(this.parentNode)' style='cursor:move;'>");
document.write(" <tr align=center>");
document.write(" <td width=12% οnmοuseοver=this.className='ds_border' οnmοuseοut=this.className='' οnclick=subYear(this) title='减小年份'>&lt;&lt;</td>");
document.write(" <td width=12% οnmοuseοver=this.className='ds_border' οnmοuseοut=this.className='' οnclick=subMonth(this) title='减小月份'>&lt;</td>");
document.write(" <td width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>");
document.write(" <td width=12% οnmοuseοver=this.className='ds_border' οnmοuseοut=this.className='' οnclick=addMonth(this) title='增加月份'>&gt;</td>");
document.write(" <td width=12% οnmοuseοver=this.className='ds_border' οnmοuseοut=this.className='' οnclick=addYear(this) title='增加年份'>&gt;&gt;</td>");
document.write(" </tr>");
document.write(" </table>");

document.write(" <table cellpadding=0 cellspacing=0 width=140 height=20 οnmοusedοwn='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' οnmοuseup='releaseCapture();' οnmοusemοve='dsMove(this.parentNode)' style='cursor:move;'>");
document.write(" <tr align=center>");
for(i=0;i<7;i++)
document.write(" <td>"+week[i]+"</td>");
document.write(" </tr>");
document.write(" </table>");

document.write(" <table cellpadding=0 cellspacing=2 width=140 bgcolor=#EEEEEE>");
for(i=0;i<6;i++)
{
document.write(" <tr align=center>");
for(j=0;j<7;j++)
document.write(" <td width=10% height=16 οnmοuseοver=if(this.innerText!=''&&this.className!='ds_border2')this.className='ds_border' οnmοuseοut=if(this.className!='ds_border2')this.className='' οnclick=getValue(this,document.all('DS_"+this.inputName+"'))></td>");
document.write(" </tr>");
}
document.write(" </table>");

document.write(" <span style=cursor:hand οnclick=this.parentNode.parentNode.style.display='none'>【关闭】</span>");
document.write(" </div>");
document.write("</div>");

dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes[0].childNodes[2],this.year,this.month)
}

function subYear(obj) //减小年份
{
var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
myObj[0].innerHTML=eval(myObj[0].innerHTML)-1;
dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
}

function addYear(obj) //增加年份
{
var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
myObj[0].innerHTML=eval(myObj[0].innerHTML)+1;
dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
}

function subMonth(obj) //减小月份
{
var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
var month=eval(myObj[2].innerHTML)-1;
if(month==0)
{
month=12;
subYear(obj);
}
myObj[2].innerHTML=month;
dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
}

function addMonth(obj) //增加月份
{
var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
var month=eval(myObj[2].innerHTML)+1;
if(month==13)
{
month=1;
addYear(obj);
}
myObj[2].innerHTML=month;
dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
}

function dateShow(obj,year,month) //显示各月份的日
{
var myDate=new Date(year,month-1,1);
var today=new Date();
var day=myDate.getDay();
var selectDate=obj.parentNode.parentNode.previousSibling.previousSibling.value.split('-');
var length;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
length=31;
break;
case 4:
case 6:
case 9:
case 11:
length=30;
break;
case 2:
if((year%4==0)&&(year%100!=0)||(year%400==0))
length=29;
else
length=28;
}
for(i=0;i<obj.cells.length;i++)
{
obj.cells[i].innerHTML='';
obj.cells[i].style.color='';
obj.cells[i].className='';
}
for(i=0;i<length;i++)
{
obj.cells[i+day].innerHTML=(i+1);
if(year==today.getFullYear()&&(month-1)==today.getMonth()&&(i+1)==today.getDate())
obj.cells[i+day].style.color='red';
if(year==eval(selectDate[0])&&month==eval(selectDate[1])&&(i+1)==eval(selectDate[2]))
obj.cells[i+day].className='ds_border2';
}
}

function getValue(obj,inputObj) //把选择的日期传给输入框
{
var myObj=inputObj.nextSibling.nextSibling.childNodes[0].childNodes[0].cells[2].childNodes;
if(obj.innerHTML)
inputObj.value=myObj[0].innerHTML+"-"+myObj[2].innerHTML+"-"+obj.innerHTML;
inputObj.nextSibling.nextSibling.style.display='none';
for(i=0;i<obj.parentNode.parentNode.parentNode.cells.length;i++)
obj.parentNode.parentNode.parentNode.cells[i].className='';
obj.className='ds_border2'
}

function dsMove(obj) //实现层的拖移
{
if(event.button==1)
{
var X=obj.clientLeft;
var Y=obj.clientTop;
obj.style.pixelLeft=X+(event.x-DS_x);
obj.style.pixelTop=Y+(event.y-DS_y);
}
}
//-->
</script>
<title>订票步骤一</title>
<style type="text/css">
<!--
body {
 background-color: #CDECFA;
 background-image: url(images/background/20058161552345637.jpg);
}
.style1 {font-size: 12px}
.STYLE2 {
 font-family: "华文行楷";
 font-size: 36px;
 color: #3300CC;
}
.STYLE5 {
 font-size: 36px;
 color: #FF99FF;
 font-weight: bold;
 font-family: "华文彩云";
}
.STYLE9 {font-size: 16px}
.STYLE10 {font-size: 24px}
.STYLE11 {
 font-family: "华文行楷";
 font-size: 24px;
}
.STYLE12 {color: #000099}
.STYLE14 {font-family: "华文行楷"; font-size: 24px; color: #000099; }
-->
</style></head>
<script language=javascript>
<!--
function submit2(){
 document.f1.action="./order2.jsp";
 document.f1.submit();   

}
//-->
</script>


<%
 
  String hbh=request.getParameter("hbh") ;
  String mdd=request.getParameter("mdd") ;
  String qfsj=request.getParameter("qfsj") ;
  String ddsj=request.getParameter("ddsj") ;
  String hprice=request.getParameter("hprice") ;
  String dprice=request.getParameter("dprice") ;
                      

%>
<%
String sql =null;
ResultSet rs=null;

 Connection conn=db.getConn();
 Statement sqlStmt=null;
 try{
 sqlStmt=conn.createStatement();
 }
 catch(Exception e)
 {
System.out.println (e);
 }
 sql ="select * from plane_tab where hbh='"+hbh+"'"
 rs=s1.executeQuery(sql);
if(rs.next())
 {
%>

<body topmargin=0 marginwidth=0 marginheight=0>
<form method=post name=f1>
<table width="772" align="center" border=0 >
  <tr>
    <td width="764" background="images/background/20058161552345637.jpg" bgcolor="#669999"><marquee  behavior=alternate>
    <span class="STYLE1 STYLE2"><span class="STYLE5">欢迎您的订购!!!      </span></span>
    </marquee></td>
  </tr>
</table><hr>
 <table width="581" height="322" border="5" align="center" cellspacing="0">
  <tr>
    <td width="187" class="style1 STYLE9"><div align="center" class="STYLE10 STYLE11 STYLE12">航班号:</div></td>
    <td width="384"><span class="style1"> <input type="text" name="hbh" value=<%=hbh%>> </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">目的地:</div></td>
    <td><span class="style1"><input type="text" name="mdd" value=<%=mdd%> > </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">头等舱数量:</div></td>
    <td><span class="style1"><input type="text" name="hnum"  value="<%=rs.getString("hnum")%>"> </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">头等舱价格:</div></td>
    <td><span class="style1"><input type="text" name="hprice" value=<%=hprice%> > </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">经济舱数量:</div></td>
    <td><span class="style1"><input type="text" name="dnum"  value="<%=rs.getString("dnum")%>"> </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">经济舱价格:</div></td>
    <td><span class="style1"><input type="text" name="dprice" value=<%=dprice%> > </span></td>
  </tr>
  <tr>
    <td><div align="center" class="STYLE14">日期:</div></td>
    <td> <script language=javascript>
var myDate=new dateSelector();
myDate.year--;
myDate.inputName='start_date';
myDate.display();
  </script></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">
      <input type="submit" name="Submit" value="  下 一 步  " onClick=submit2()>
    </div>
  <%

  }
%> </td>
  </tr>
</table>
 <div align="center"></div>
 <div align="center"></div>
<p>&nbsp;</p>
</form>
</body>
</html>
 

 

在Tomcat下运行出错信息如下:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /order1.jsp(1,1) Unterminated &lt;%@ page tag
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:134)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:511)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
	org.apache.jasper.compiler.Parser.parse(Parser.java:126)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

请高手指点指点,帮帮兄弟忙,很急的,先谢谢啦!~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href="">&lt;/s:a>-----超链接,类似于html里的&lt;a>&lt;/a> 3. &lt;s:action name="">&lt;/s:action>-----执行一个view里面的一个action 4. &lt;s:actionerror/>-----如果action的errors有值那么显示出来 5. &lt;s:actionmessage/>-----如果action的message有值那么显示出来 6. &lt;s:append>&lt;/s:append>-----添加一个值到list,类似于list.add(); 7. &lt;s:autocompleter>&lt;/s:autocompleter>-----自动完成&lt;s:combobox>标签的内容,这个是ajax B: 1. &lt;s:bean name="">&lt;/s:bean>-----类似于struts1.x中的,JavaBean的值 C: 1. &lt;s:checkbox>&lt;/s:checkbox>-----复选框 2. &lt;s:checkboxlist list="">&lt;/s:checkboxlist>-----多选框 3. &lt;s:combobox list="">&lt;/s:combobox>-----下拉框 4. &lt;s:component>&lt;/s:component>-----图像符号 D: 1. &lt;s:date/>-----获取日期格式 2. &lt;s:datetimepicker>&lt;/s:datetimepicker>-----日期输入框 3. &lt;s:debug>&lt;/s:debug>-----显示错误信息 4. &lt;s:div>&lt;/s:div>-----表示一个块,类似于html的&lt;div>&lt;/div> 5. &lt;s:doubleselect list="" doubleName="" doubleList="">&lt;/s:doubleselect>-----双下拉框 E: 1. &lt;s:if test="">&lt;/s:if> 2. &lt;s:elseif test="">&lt;/s:elseif> 3. &lt;s:else>&lt;/s:else>-----这3个标签一起使用,表示条件判断 F: 1. &lt;s:fielderror>&lt;/s:fielderror>-----显示文件错误信息 2. &lt;s:file>&lt;/s:file>-----文件上传 3. &lt;s:form action="">&lt;/s:form>-----获取相应form的值 G: 1. &lt;s:generator separator="" val="">&lt;/s:generator>----和&lt;s:iterator>标签一起使用 H: 1. &lt;s:head/>-----在&lt;head>&lt;/head>里使用,表示头文件结束 2. &lt;s:hidden>&lt;/s:hidden>-----隐藏值 I: 1. &lt;s:i18n name="">&lt;/s:i18n>-----加载资源包到值堆栈 2. &lt;s:include value="">&lt;/s:include>-----包含一个输出,servlet或jsp页面 3. &lt;s:inputtransferselect list="">&lt;/s:inputtransferselect>-----获取form的一个输入 4. &lt;s:iterator>&lt;/s:iterator>-----用于遍历集合 L: 1. &lt;s:label>&lt;/s:label>-----只读的标签 M: 1. &lt;s:merge>&lt;/s:merge>-----合并遍历集合出来的值 O: 1. &lt;s:optgroup>&lt;/s:optgroup>-----获取标签组 2. &lt;s:optiontransferselect doubleList="" list="" doubleName="">&lt;/s:optiontransferselect>-----左右选择框 P: 1. &lt;s:param>&lt;/s:param>-----为其他标签提供参数 2. &lt;s:password>&lt;/s:password>-----密码输入框 3. &lt;s:property/>-----得到'value'的属性 4. &lt;s:push value="">&lt;/s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性 R: 1. 2. &lt;s:radio list="">&lt;/s:radio>-----单选按钮 3. &lt;s:reset>&lt;/s:reset>-----重置按钮 S: 1. &lt;s:select list="">&lt;/s:select>-----单选框 2. &lt;s:set name="">&lt;/s:set>-----赋予变量一个特定范围内的值 3. &lt;s:sort comparator="">&lt;/s:sort>-----通过属性给list分类 4. &lt;s:submit>&lt;/s:submit>-----提交按钮 5. &lt;s:subset>&lt;/s:subset>-----为遍历集合输出子集 T: 1. &lt;s:tabbedPanel id="">&lt;/s:tabbedPanel>-----表格框 2. &lt;s:table>&lt;/s:table>-----表格 3. &lt;s:text name="">&lt;/s:text>-----I18n文本信息 4. &lt;s:textarea>&lt;/s:textarea>-----文本域输入框 5. &lt;s:textfield>&lt;/s:textfield>-----文本输入框 6. &lt;s:token>&lt;/s:token>-----拦截器 7. &lt;s:tree>&lt;/s:tree>-----树 8. &lt;s:treenode label="">&lt;/s:treenode>-----树的结构 U: 1. &lt;s:updownselect list="">&lt;/s:updownselect>-----多选择框 2. &lt;s:url>&lt;/s:url>-----创建url ___________________________________________________ struts2框架的标签库分为三类: 用户标签:生成HTML元素 非用户标签:数据访问、逻辑控制等。 AJAX标签:支持AJAX技术。 用户界面标签又分两类: 表单标签:生成HTML页面的from元素 非表单标签:生成页面上的Tab、Tree等 非界面标签又分为数据访问标签和流程控制标签。 控制标签: if/elseif/else标签:控制流程分支。 iteratot标签:对集合属性迭代(属性类型:List、Map、数组)。 append标签:将多个集合对象拼接在一起,组成一个新的集合。将多个集合使用一个&lt;iterator/>标签完成迭代。 generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。 merge标签:将多个集合拼接在一起。 subset标签:获取某个集合的子集合。 sort标签:多指定的集合元素进行排序。 数据标签: action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 debug:生成一个调试链接,当单击该链接时,可以看到当前栈值中的内容。 i18n:指定国际化资源文件的baseName。 include:包含其他的页面资源。 param:设置参数。 property:输出某个值。可以输出值栈、StackContext 、ActionContext中的值。 push:将某个值放入值栈。 set:设置一个新的变量。 text:输出国际化信息。 url:生成一个URL地址。 表单标签: checkbox标签:复选框。 checkboxlist标签:根据一个集合属性创建一系列的复选框。 combobox标签:生成一个单选文本框和一个下拉列表框的组合。 doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。 datetimepicker标签:生成一个日期、时间下拉列表框。 head标签:生成HTML页面的HEAD部分。 file标签:在页面上生成一个上传文件元素。 hidder标签:生成一个不看见的用户输入元素。 select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个下拉列表框的选择组,下拉列表框中可以包含多个选择组。 token标签:防用户多次提交表单。 textarea标签:文本域。 updownselct标签:支持选项内容的上下移动。 password表单:密码表单域。 textfield标签:单行文本输入框。 非表单标签: actionerror标签:输出Action中getActionErrors()方法返回的异常信息。 actionmessage标签:输出Action中getActionErrors()方法返回的信息。 component标签:生成一个自定义的组件。 div标签:AJAX标签,生成一个div片段。 fielderror标签:输出异常提示信息。 tabbedPanel:AJAX标签,生成HTML中的Tab页。 tree标签:生成一个树形结构。 treenode标签:生成树形结构的节点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值