有效地使用 JSP 标签获取 java 代码中的空值
Using JSP tags efficiently for null value from java code
<% Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
%>
<td><a href="<%=documentationLink%>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a></td>
好吧,我已经使用此 syntax 将 href
打印为 documentationLink,但我认为这不是一种有效的方法这样做,因此需要 在使用`代码时提供一些帮助。
有没有更好的方法来处理代码的逻辑部分。
如果我得到
documentationLink = null
如何让标签不可点击
使用 CSS
使标签 不可点击 的一种方法
Html
<a href="link.html" class="not-active">Link</a>
CSS
.not-active {
pointer-events: none;
cursor: default;
}
如果您的 documentationLink
为空,那么您需要在分配给 href
之前对其进行测试。
示例代码
<% if(documentationLink != null){%>
<a href="<%=documentationLink%>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a>
<%}else{%>
<a href="<%=documentationLink%>" style="opacity: .5;
pointer-events: none;">"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a>
<%}%>
你可以试试这个。
<% Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
%>
对您的服务器端执行此操作 ^^^。 并将检索到的 documentationLink
放入 session
或 request
范围。像这样:
Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
request.setAttribute("documentationLink",documentationLink);
正如我所见,您正在使用 Struts-tags
。因此,删除您的 scriptlet 并尝试使用 Struts2
中使用的标签。像这样,
<td>
<s:if test="%{#request.documentationLink != null}">
<a href="<s:property value="#request.documentationLink"/>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" />
</a>
</s:if>
<s:else>
<s:property value="domainName" />
</s:else>
</td>
<% Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
%>
<td><a href="<%=documentationLink%>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a></td>
好吧,我已经使用此 syntax 将 href
打印为 documentationLink,但我认为这不是一种有效的方法这样做,因此需要 在使用`代码时提供一些帮助。
有没有更好的方法来处理代码的逻辑部分。
如果我得到
documentationLink = null
如何让标签不可点击
使用 CSS
使标签 不可点击 的一种方法Html
<a href="link.html" class="not-active">Link</a>
CSS
.not-active {
pointer-events: none;
cursor: default;
}
如果您的 documentationLink
为空,那么您需要在分配给 href
之前对其进行测试。
示例代码
<% if(documentationLink != null){%>
<a href="<%=documentationLink%>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a>
<%}else{%>
<a href="<%=documentationLink%>" style="opacity: .5;
pointer-events: none;">"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" /></a>
<%}%>
你可以试试这个。
<% Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
%>
对您的服务器端执行此操作 ^^^。 并将检索到的 documentationLink
放入 session
或 request
范围。像这样:
Object domName = request.getAttribute("domainName");
String documentationLink = UMRACM.getDomainDocumentationMap().get(domName);
request.setAttribute("documentationLink",documentationLink);
正如我所见,您正在使用 Struts-tags
。因此,删除您的 scriptlet 并尝试使用 Struts2
中使用的标签。像这样,
<td>
<s:if test="%{#request.documentationLink != null}">
<a href="<s:property value="#request.documentationLink"/>"target="_blank"
id="domainName_<s:property value="#rowstatus.index"/>"><s:property value="domainName" />
</a>
</s:if>
<s:else>
<s:property value="domainName" />
</s:else>
</td>