%%什么意思?

JavaScript011

%%什么意思?,第1张

<%%>是说这里面的文本不是普通直接输出到客户端的文本,而是需要服务器来解释的。不光是可以写JAVA脚本,这要看具体服务器端使用的是什么技术ASP/JSP/PHP/ASP.NET都使用相同或相似的技术。

而至于这种模式是否差劲,看解决方案是否达到目标,而不是看好不好看。

【延展阅读】

【asp.net中,<%#%>,<%=%>和<%%>的含义与区别。】

在asp.net中经常出现包含这种形式<%%>的html代码,总的来说包含下面这样几种格式:

一.  <%%>

这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。

特别注意:服务器控件中不能有<%%>语法

(这里用C#代码)

<%

int a = 2

int b = 3

int c = a + b

Response.Write(c)

二. <%#%>

如果是这种格式的话那就是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法,在这种情况下不管是服务器控件还是客户端控件都会绑定)

特别注意:只有服务器控件才能用<%#%>语法(不准确的)

当整个页面调用this.DataBinder()方法时,不管是服务器控件还是客户端控件都会绑定

<div>

Server Control:<asp:TextBox ID="TextBox1" runat="server" Text="<%#text%>">

</asp:TextBox><br /><!--Server Control-->

Client Control:<input type="text" id="textbox2" value="<%#text%>" /><!--Client

Control-->

</div>aspx.cs代码如下:   protected string text//注意这里必须申明为public或protected,否

则aspx页面(子类)无法访问

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

this.text = "aaaaaaaaaaaaa"

this.TextBox1.DataBind()//或this.DataBind()             

}

}

当this.TextBox1.DataBind()  运行显示出来的效果(无法插入图片自己测试)

this.DataBind() 运行显示出来的效果(无法插入图片自己测试)

三.  <%=%>

这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.

aspx代码:   <label id="label1"><%=DisplayStr()%></label><br />

<label id="label2" runat="server"><%=DisplayStr()%></label>aspx.cs代码:  public

string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误

{

return "bbbb"

}

四.<%$%>

这种形式主要用于对web.config文件的键值对进行绑定:通常用于连接数据库的字符串

特别注意:1.绑定的只能是服务器控件

2.只能绑定到服务器控件的某个属性上。

<asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>">

</asp:TextBox>web.config文件如下:  <connectionStrings>

<add name="pubs" connectionString="Server=.database=pubsuid=sapwd="

providerName="System.Data.SqlClient"/>

</connectionStrings>这样就能正常运行。

如果修改aspx中的文件:使用客户端的控件  <input type="text" value="

<%$ConnectionStrings:pubs%>"/>或者:不绑定到服务器控件的某个属性上 <asp:TextBox

runat="server" ID="cc"><%$ConnectionStrings:pubs%></asp:TextBox>

运行都会出现相同的错误

最后注意一点:

<%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用

补充:

针对:<%=%>形式:

另外一种情况:

aspx代码:           <input type="text" id="a"  value=<%=DisplayStr()%>/>

<input id="Text1" type="text"  runat="server" value=<%=DisplayStr()%>

/>aspx.cs代码:

public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误

{

return "bbbb"

}如果是这样的情况的话,就出现运行时错误。最后对这种<%=%>用法强调一句:尽量对客户端控件用这种形式,毕竟它是asp常用语法,不会出现问题。

但是对于asp.net的服务器控件就可能不能完全适合的。

参考资料

asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别.CSDN[引用时间2018-1-23]

<%%>是JSP特有的标签,是服务器端脚本语言,不能显示到浏览器也就是客户端,js是浏览器端的脚本语言,所以客服端访问服务器的时候

<%%>块语句执行后在将服务器的运行结果返回到客户端,最后你在浏览器端的js才会生效,两种不同的脚本语言,而且不在一个地方运行,所以不存在说js调用这个块语句,不要弄混了

java框架实在是太多了,网上一抄一大段,根本就了解不到什么。我还是以我的经验来说一下j2ee的框架。

1.首先力推struts2框架,这是最经典的框架(可以说没有“之一”)。可以帮你快速搭建出一个MVC模型出来。(注:struts1已经很少用了,且问题也很多,强烈推荐使用struts2).

2.Spring框架,这是排行第二的框架(我个人排得,非权威),这个框架出彩的地方就在于它的“依赖注入”和“控制反转”。简单的说,就是在程序运行的时候才将参数注入到容器里。

3.持久层框架选Hibernate和Ibatis。 Hibernate自动化能力强,开发大型应用可以节约开发时间,ibatis小巧简洁,灵活。

4.Jquery是继prototype之后又一个优秀的Javacript框架,封装了很多javascript方法,是开发jsp用的框架,目前很流行

一般开发,都是使用Struts2+Spring+Hibernate(ibatis)整合,前端用jquery或者其他类似框架。对于简单的系统,有时用Spring MVC一个框架即可。