Печать нескольких строк HTML из JSP - PullRequest
0 голосов
/ 07 ноября 2011
    out.println(%><form> + 
        <p><label for="username">Username:</label><input type="text" name="username" /></p>  + 
        <p><label for="password">Password:</label><input type="password" name="password" /></p> +
        <p class="submit"> +
            <input type="submit" name="button" value="Login" /> +
            <input type="submit" name="button" value="Registrer" /> +
        </p> +
    </form> <%);

Это то, что я думал, что смогу сделать, но, очевидно, я не могу, поэтому мой вопрос, как мне напечатать несколько строк HTML? Есть ли лучший способ сделать это, чем я?

1 Ответ

2 голосов
/ 07 ноября 2011

Вы не можете.Вы должны поместить их в одну большую строку в кавычках.

out.println("<form>" + 
    "<p><label for=\"username\">Username:</label><input type=\"text\" name=\"username\" /></p>"  + 
    "<p><label for=\"password\">Password:</label><input type=\"password\" name=\"password\" /></p>" +
    "<p class=\"submit\">" +
        "<input type=\"submit\" name=\"button\" value=\"Login\" />" +
        "<input type=\"submit\" name=\"button\" value=\"Registrer\" />" +
    "</p>" +
"</form>");

Но гораздо лучше просто , а не использовать out.println() (и все остальные скриптлеты вJSP).Поместите HTML plain в JSP и используйте при необходимости JSTL основные теги для управления потоком.

Например

<c:if test="${empty activeuser}">
  <form>
    <p><label for="username">Username:</label><input type="text" name="username" /></p>
    <p><label for="password">Password:</label><input type="password" name="password" /></p>
    <p class="submit">
      <input type="submit" name="button" value="Login" />
      <input type="submit" name="button" value="Registrer" />
    </p>
  </form> 
</c:if>

См. Также:

...