|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。js
在传统的JSP程序中,我们将HTML代码与Java代码夹杂在一同编写,如许固然便利,但同时也招致页面难以保护,HTML开辟职员和JSP开辟职员包袱减轻,我们能够将这类传统的手艺成为页面拉数据手艺。
如何才干做到将HTML开辟和JSP开辟分别呢?谜底就是利用Tag手艺,经由过程利用Tag手艺,我们就能够在页面程序中不呈现JSP代码,在必要数据的中央,人人先商定好标签,然后由Tag的背景处置程序往交换这些标签,显现数据。我称这类手艺叫做向页面推数据,页面只需界说好格局就好了。如许,我们可让HTML开辟职员专注于页面的表面,而Java程序员则不必剖析页面显现,专注于背景程序,年夜年夜进步了程序的可保护性和便利性。便于各程序员之间的合作开辟。
起首你要懂一些Tag手艺,然后才干浏览本文。上面是样例程序:
1、起首是交换字符串的replace函数
//交换字符串函数
//StringstrSource-源字符串
//StringstrFrom-要交换的子串
//StringstrTo-交换为的字符串
publicstaticStringreplace(StringstrSource,StringstrFrom,StringstrTo)
{
//假如要交换的子串为空,则间接前往源串
if(strFrom==null||strFrom.equals(""))
returnstrSource;
StringstrDest="";
//要交换的子串长度
intintFromLen=strFrom.length();
intintPos;
//轮回交换字符串
while((intPos=strSource.indexOf(strFrom))!=-1)
{
//猎取婚配字符串的右边子串
strDest=strDest+strSource.substring(0,intPos);
//加上交换后的子串
strDest=strDest+strTo;
//修正源串为婚配子串后的子串
strSource=strSource.substring(intPos+intFromLen);
}
//加上没有婚配的子串
strDest=strDest+strSource;
//前往
returnstrDest;
}
2、Tld文(MyBookTag.tld)界说你的标签
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEtaglib
PUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name></short-name>
<tag>
<name>ListBook</name>
<tag-class>com.book.taglib.ListBookTag</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>
3、Tag的背景处置文件,卖力注释标签(ListBookTag.java)
packagecom.book.taglib;
importjava.util.*;
importjava.lang.*;
importcom.book.model.bookmodel;
importcom.book.utils.StringHelper;
importjavax.servlet.jsp.JspTagException;
importjavax.servlet.jsp.tagext.BodyTagSupport;
importjavax.servlet.jsp.tagext.BodyContent;
importjavax.servlet.jsp.PageContext;
importjavax.servlet.jsp.JspWriter;
importjavax.servlet.ServletRequest;
publicclassListBookTagextendsBodyTagSupport{
//标记入手下手地位实行
publicintdoStartTag(){
returnEVAL_BODY_BUFFERED;
}
//标记停止地位实行
publicintdoEndTag()throwsJspTagException{
intmax=0;
StringListBody=null;
intnumber=1;
//猎取页码信息,也就是request对象中的内容
StringserialNo=pageContext.getRequest().getParameter("serialNo");
//转换为整数
try{
number=Integer.parseInt(serialNo);
}
catch(Exceptione){
number=1;
}
if(number<1)
number=1;
//猎取保留在Session中的数据集,固然这里也能够从数据库中取数据
VectorbookVector=(Vector)pageContext.getSession().getAttribute("bookVector");
if(number*10<bookVector.size())
max=number*10;
else
max=bookVector.size();
if(bookVector.size()>0){
//猎取标签外部的内容
BodyContentbc=getBodyContent();
for(inti=(number-1)*10;i<max;i++){
//猎取一笔记录
bookmodelmodel=(bookmodel)bookVector.get(i);
if(model==null)
model=newbookmodel();
//交换内容(就是在这里输入数据的,交换)
Stringbody=bc.getString();
body=StringHelper.replace(body,"$_SerialNo",model.getBookid());
body=StringHelper.replace(body,"$_BookName",model.getBookname());
body=StringHelper.replace(body,"$_Author",model.getAuthor());
body=StringHelper.replace(body,"$_PHouse",model.getPhouse());
body=StringHelper.replace(body,"$_Price",model.getPrice().toString());
body=StringHelper.replace(body,"$_index",Integer.toString(i));
//向页面输入
try{
pageContext.getOut().print(body);
}
catch(Exceptione){
}
}
}
returnEVAL_PAGE;
}
}
4、JSP页面(BookList.jsp)
<%@pagecontentType="text/html;charset=GBK"%>
<%@tagliburi="/MyBookTag"prefix="MyBookTag"%>
<html>
<head>
<title>一个基于J2EE的图书DEMO</title>
<scriptlanguage="javascript">
functionreturnBack(){
document.form1.action="BookAdmin.jsp";
}
</script>
</head>
<bodybgcolor="#FFFFFF"text="#000000"leftmargin="0"topmargin="0">
<h2align="center"><fontface="黑体"color="#0000CC">图书列表</font></h2>
<formname="form1"method="post">
<tablewidth="750"border="1"cellspacing="0"align="center"cellpadding="3"bordercolor="#A5ABB6"bordercolordark="#ffffff">
<tralign="center">
<tdwidth="100"bgcolor="FEFBF4"height="41">序号</td>
<tdwidth="200"bgcolor="FEFBF4"height="41">图示称号</td>
<tdwidth="100"bgcolor="FEFBF4"height="41">图书作者</td>
<tdwidth="200"bgcolor="FEFBF4"height="41">出书社</td>
<tdwidth="50"bgcolor="FEFBF4"height="41">图书代价</td>
<tdwidth="100"bgcolor="FEFBF4"height="41">操纵</td>
</tr>
<!--这里利用标签手艺,假如不必,就贫苦了,信任您必定有感到-->
<MyBookTag:ListBook>
<tralign="center">
<tdwidth="100"height="19">$_SerialNo</td>
<tdwidth="200"height="19">$_BookName</td>
<tdwidth="100">$_Author</td>
<tdwidth="200">$_PHouse</td>
<tdwidth="50"height="19">$_Price</td>
<tdwidth="100"height="19"align="left">
<ahref="bookEditTable.jsp?ItemNo=$_index">
<fontcolor="#0000CC">编纂</font>
</a>
|<ahref="bookview.jsp?ItemNo=$_index">
<fontcolor="#FF0000">检察</font>
</a>
</td>
</tr>
</MyBookTag:ListBook>
</table>
<tablewidth="400"border="0">
<tr>
<tdwidth="100%"align="right">
<divalign="right">
<inputtype="submit"name="Submit"value="前往"class="annew1">
</div>
</td>
</tr>
</table>
</form>
<palign="left"></p>
</body>
</html
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 |
|