| [ Team LiB ] |
|
Declaring Methods and Variables with <%! %>So far you have seen how to insert Java statements and expressions into your code. In case you haven't realized it yet, all the code within the <% %> tags and all the expressions within the <%= %> tags belong to one big Java method in the generated servlet. That is why you can use the <%= %> tags to display a variable that was declared inside the <% %> tags. You might want to put an entire Java method into a JSP. If you try to declare a method within the <% %> tags, the Java compiler reports an error. After all, Java doesn't like it if you try to declare a method within another method. Use the <%! %> tags to enclose any declarations that belong outside the big method that generates the page. Listing 1.8 shows a JSP file that declares a separate method and then uses the <%= %> tags to display the result of calling the method. Listing 1.8 Source Code for DeclareMethod.jsp
<html>
<body>
<%!
public String myMethod(String someParameter)
{
return "You sent me: "+someParameter;
}
%>
<%= myMethod("Hi there") %>
</body>
</html>
Because it may not be obvious, Figure 1.3 shows the results of the DeclareMethod.jsp as they are displayed on the browser. Figure 1.3. You can declare Java methods in a JSP and display results returned by those methods.
Writing to out Inside of <%! %>
In addition to declaring methods, you can also use the <%! %> tags to declare instance variables. These instance variables are visible to any methods you declare, and also to the code within the <% %> tags. Declaring an instance variable is as simple as this: <%! int myInstanceVariable = 10; %> After this variable has been declared, you can use it in other methods declared with <%! %> or within the <% %> and <%= %> tags. For example, you can display the value of myInstanceVariable this way:
<%
out.println("myInstanceVariable is "+ myInstanceVariable);
%>
Likewise, you can use the <%= %> tags to display the variable this way: MyInstanceVariable is <%= myInstanceVariable %> |
| [ Team LiB ] |
|