Como usar Scriptlets em Java Servlets

UMA scriptlet

é uma instrução ou grupo de instruções que está inserida diretamente no servlet Java no ponto onde o out.print declarações que criam o HTML circundante são gerados. Em suma, scriptlets permitem que você adicione seu próprio código para o código que processa a página.

Scriptlets seguir esta forma básica:

lt; declarações% ...%>

Aqui está uma JSP chamada DateJSP.jsp que utiliza o Formato de data classe para formatar a data e exibi-lo na página:

lt;% @ page import = "java.text *".%> lt;% página @ import = ". java.util *"%>data JSP

Hoje TLDI;% DateFormat df = DateFormat.getDateInstance (DateFormat.FULL) -Data hoje = new Date () - corda msg = df.format (hoje) -out.println (msg) -%>

Tenha um bom dia!

Este JSP inicia-se com um par de import página directivas para importar o java.text e java.util pacotes. Em seguida, são inseridas as seguintes instruções Java certo entre as linhas que geram o texto Hoje é e Tenha um bom dia!, igual a:

DateFormat df = DateFormat.getDateInstance (DateFormat.FULL) -Data hoje = new Date () - corda msg = df.format (hoje) -out.println (msg) -

Estas linhas de criar uma variável de cadeia chamado msg e então usar out.println para escrever a seqüência de caracteres para a saída de resposta. Como resultado, a data formatada é inserido entre

Hoje é

e

Tenha um bom dia!

.

image0.jpg

Scriptlets não tem que adicionar qualquer coisa para a saída HTML. Em muitos casos, eles executam funções tais como gravar dados em um arquivo. Suponha que você tem um JSP que recebe dados de um formulário que inclui campos de texto de entrada nomeados Primeiro nome e Último nome.

Suponha também que você tenha uma classe chamada CustFile com um método estático denominado writeCustomer que aceita um nome e sobrenome como parâmetros e grava-los em um arquivo. Aqui está um scriptlet que obtém os nomes e sobrenomes e chama o writeCustomer método para escrever o nome para o arquivo do cliente:

lt;% uma série de firstName = request.getParameter ( "Nome") - corda lastName = request.getParameter ( "LastName") - CustFile.writeCustomer (nome, sobrenome) -%>

Se você quiser, você pode ficar complicado com scriptlets. Nenhuma regra diz que você tem que completar instruções de bloco, tais como E se ou enquanto declarações dentro de um único scriptlet. Se deixar um bloco aberto no final de um scriptlet, qualquer HTML que se segue é gerado pela out.print declarações que estão incluídos no bloco. A única restrição é que você deve, eventualmente, terminar o bloco com outro scriptlet.

Aqui está um scriptlet chamado LoopyJSP.jsp que se repete de uma linha 12 vezes na página, incluindo a linha no bloco de um para loop:

você não pode ver que eu estou tentando trabalhar aqui?lt;% for (int i = 0- i lt; 12- i ++) {%> Todo o trabalho e nenhum jogo fazem a Jack um menino maçante.
lt;%}%>

Se você executar este scriptlet, esta página é exibida.

image1.jpg

Obviamente, este tipo de estrutura de programação é propenso a erros. Evitá-lo sempre que puder.

menu