2015-09-20 96 views
0

我有一个web应用程序,我使用JSP,所以当我插入java代码时,我开始打开它作为<%%>,但我想用<%!%>我该怎么办?转换JSP java代码

有我的代码:

<body> 
     <h1>Factorial</h1> 

    <form action="" method=post> 
    <input type="number" name="cantidad" min="1"> 
    <input type= "submit" value=submit> 
    </form> 
      <% 

     String numero=request.getParameter("cantidad"); 

if(numero != null){ 
    Integer num = Integer.parseInt(request.getParameter("cantidad")); 
     if(num != null){ 
      int res =1; 

     for (int s=1; s <=num; s++){ 
      res *=s; 
     } 
     out.print(res); 
     } 

} 


    %> 
</body> 

那么,我该怎么办呢?

+0

只是为了澄清,你想用'<%! . . . !%>'作为插值标签吗? – CollinD

+0

是兄弟,但据我所知'<%!' and '%>' –

+0

在JSP中不是。 – Kenney

回答

2

<%! %>用于JSP Declarations

该链接的Java EE 5教程说(部分)

一个JSP声明用于在页面的脚本语言来声明变量和方法。

所以你需要声明的东西

<%! 
    static final int getANumber() { 
     return 101; 
    } 
%> 

,那么你可以调用一个scriptlet该功能。但你真的应该更喜欢使用更现代的Java Web技术(并避免scriptlet)。

+0

ooo excelent ...所以我的代码现在'<%! int res = 1; '我和其他代码''<% ....%>' –

1

应用程序服务器将所有JSP文件转换为Servlet(.java和最终的.class)文件。

JSP声明:

<%! int count = 0; %> ===>在服务器生成的 Servlet类中声明'count'实例变量,这个变量对于所有请求都是通用的,除非有很强的理由,否则这种用法是不鼓励的。

小脚本:

<%诠释计数= 0; %> ===>声明服务内部的局部变量() 方法,这个变量对于每个请求是本地的,所以不存在使用问题。但是,JSP内部的脚本通常被认为是不好的做法。

+0

'我不使用servlet ...我在JSP上做所有工作,所以我现在声明'<%! int res = 1; %>'和我的其他代码在'<% ....%>' –

+0

@GerardoVentas再次阅读第一句。 **所有** JSP(s)被编译为一个servlet。 –

+0

如果我没有任何servlet,JSP只是作为隐藏或系统servlet运行? –

0

<℅!℅>,用于刚刚变量和方法的声明。