0

我正在尝试同时传递艺术家姓名和艺术家身份的值,以允许将这两个字段写入表中。我需要这两个值来允许艺术家名称上的超链接来查询单个艺术家。ArtistId 字段是艺术家表的主键,也是专辑表的外键。

有没有一种方法可以创建一个双值名称,让我可以轻松地将这两个值彼此分开并将名称和 id 同时写入表中,或者可能是一种将 request.getParameter 之后的 2 个字段解析为某些内容的方法更有用?

这就是我在这个领域所拥有的......

JSP

<tr><td><b>Artist*</b></td>

<td><select name="artistName">
<c:forEach items="${Artists}" var="Artist">
<!--    <option> <c:out value="${Artist.artistName}?artistId=${Artist.artistId}&   artistName=${Artist.artistName}"/></option>${Artist.artistId} -->
<option> <c:out value="${Artist.artistName} ${Artist.artistId}"/></option>
</c:forEach>
</select></td></tr>
4

2 回答 2

0

根据您的评论,我认为这可以解决问题:

<tr>
    <td><b>Artist*</b></td>
    <td>
        <select name="artistName">
        <c:forEach items="${Artists}" var="Artist">
            <option <c:out value="${Artist.artistId}"/>>${Artist.artistName}</option>
        </c:forEach>
        </select>
    </td>
</tr>

请注意,我自己并不熟悉 Java/JSP,所以我不确定语法,但 id 是value在选项标记内输入属性。我认为这是您的问题,但如果没有 HTML 输出源的副本,就很难确定。另请注意,您的问题标题会误导您的目标。正如我在评论中所说,您实际上不需要(至少不需要从我看到的地方)传递多个值,实际上只需要艺术家 ID。

于 2013-10-17T08:29:26.440 回答
0

如果你想同时发送艺术家的姓名ID,你可以做的是在你的 foreach 循环中输入它们时,基本上你会用':'分隔它们

因此,当您提交实际表单时,选择的值将是艺术家姓名:艺术家 ID

从那里您可以拆分“:”上的字符串,将它们作为单独的部分插入到您的表格中。

于 2013-10-15T16:49:13.287 回答