0
    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 を印刷できますか? 私がやっている方法よりも良い方法はありますか?

4

1 に答える 1

2

できません。それらを 1 つの大きな引用符付き文字列に入れる必要があります。

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>");

ただし、(およびJSPの他のすべてのスクリプトレットを)使用しない方がはるかに優れています。HTML プレーンを JSP に配置し、必要に応じてJSTLコア タグを使用してフローを制御します。out.println()

例えば

<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>

以下も参照してください。

于 2011-11-06T20:38:30.917 に答える