如何为HTML字段分配值(例如,使用scriptlet的img src =“”)

时间:2014-08-14 14:59:53

标签: java jsp scriptlet

我要做的是将Scriptlet变量的值指定为图像的源。

以下是有问题的HTML:

    <div class="row">
    <div class="tab-content">
            <div class="tab-pane active" id="material">
        <h2>Material</h2>

          <ul class="thumbnails" id="hover-cap-3col">     

          <div id="myCarousel" class="carousel slide" data-interval="false">
              <!-- Carousel items -->
              <div class="carousel-inner">
                  <div class="active item">
                    <%



                    rs = stmt.executeQuery("SELECT IMG_NAME FROM IMAGES WHERE IMG_NAME LIKE 'Material%'");

                    ResultSetMetaData rsmd = rs.getMetaData();

                    int columnCount = rsmd.getColumnCount();

                    if (rs.next()) {

                        for (int i = 1; i < columnCount + 1; i++) {
                            names.add(rs.getString(i));
                        }

                    }

                    for (String name : names) {

                        String url = "http://localhost:8085/assignment/GetImage?name=" + name;

                    %>

                      <a href="http://localhost:8085/assignment/GetImage">
                      <div class="thumbnail">
                        <div class="caption"><h4>1</h4></div>
// RIGHT HERE ------>   <img src=<%url %> alt="ALT NAME">
                        <div class="caption-btm"><p>Material A</p></div>
                      </div></a>
                      <% } %>

                  </div>

              </div>

在我指定图像来源的地方(由评论显示),它会给我以下错误:

  • 语法错误,插入“AssignmentOperator Expression”完成  分配
  • 语法错误,插入“;”完成声明

显然,我不能以这种方式将值赋给img src =“”。我有什么办法可以使用Scriptlet值,还是应该废弃它并继续前进?

2 个答案:

答案 0 :(得分:1)

在JSP中,如果要在HTML中引用Java表达式,则可以使用<%= expression %>

所以它应该是

<img src="<%=url %>" alt="ALT NAME">

而不是

<img src=<%url %> alt="ALT NAME">

答案 1 :(得分:0)

如果要将表达式的值写入服务页面,则必须改为使用<%= expr %>构造:

<%=url %> 

这称为JSP expression