为JSP中的title attribut提供变量

时间:2016-01-21 22:10:26

标签: html jsp

在JSP页面中,我使用title属性在鼠标悬停时显示文本。我想为多个字段使用相同的标题文本。

是否有可能,我可以在一个地方宣布该字符串并将其一遍又一遍地使用。

我是否有可能将该字符串与其他地方一起使用。

我尝试过使用scriplets(< %%>)并包含但不能正常工作。可能我不知道如何将变量称为属性。

2 个答案:

答案 0 :(得分:0)

有两种方法可以实现这一目标。

我推荐的第一个选项是使用JSTL设置变量,然后在title属性中使用表达式,如此示例JSP:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
 <head>
  <title>Expression in title attribute</title>
 </head>
 <body>
  <c:set var="myTitle" value="This is my title text using JSTL set tag"/>
  <a href="yourpage" title="${myTitle}">test link</a>
  <br>
  <a href="yourpage2" title="${myTitle}">test link 2</a>
  <form>
   <input type="text" title="${myTitle}">
  </form>
 </body>
</html>

如果您出于某种原因无法使用JSTL,则第二种选择是。您可以使用scriptlet来设置变量,但JSP中的scriptlet通常是不受欢迎的。这是示例JSP:

<html>
 <head>
  <title>Scriptlet in title attribute</title>
 </head>
 <body>    
  <%
    String myTitle = "This is my title text using a scriptlet to set a variable"; 
  %>
  <a href="yourpage" title="<%=myTitle%>">test link</a>
  <br>
  <a href="yourpage2" title="<%=myTitle%>">test link 2</a>
  <form>
   <input type="text" title="<%=myTitle%>">
  </form>
 </body>
</html>

此外,如果您要在多个JSP文件中使用相同的标题文本,则可以在包含文件中添加文本,然后让每个JSP文件包含此文件。这将是有益的,因为实际文本位于一个位置,如果您需要修改它,则不必修改每个JSP文件。
例如,您可以将其放在名为titleTextInclude.jsp的文件中:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="myTitle" value="This is my title text using JSTL set tag from an include"/>

然后在您的JSP文件中,您只需要包含titleTextInclude.jsp文件,并使用$ {myTitle}表达式,如下所示:

<html>
 <head>
  <title>Expression in title attribute with an include</title>
 </head>
 <body>
  <%@include file="titleTextInclude.jsp" %>
  <a href="yourpage" title="${myTitle}">test link</a>
  <br>
  <a href="yourpage2" title="${myTitle}">test link 2</a>
  <form>
   <input type="text" title="${myTitle}">
  </form>
 </body>
</html>

答案 1 :(得分:0)

这可能会在将来对某人有所帮助。我在这里回答,这是我在该主题上发现的第一个问题。使用属性是最好的解决方案。 jsp代码段
<title>${title}</title>

智慧:使用JSTL为属性提供通用值是安全的。