2017-02-06 16 views
3
<% 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> 

Ну я использовал этот синтаксис для печати href в documentationLink, но я думаю, что это не является эффективным способом сделать это, поэтому небольшая помощь требуется в использовании кода.Использование JSP-теги эффективно для нулевого значения из кода Java

Есть ли лучший способ сделать логическую часть кода.

Кроме того, если я получаю

documentationLink = null

Как мне сделать этикетку unclickable

ответ

1
<% 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. Поэтому удалите свои скриптлеты и попробуйте использовать теги, используемые в 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> 
+0

выглядит хорошо, спасибо –

+0

этот код отлично работает в установке метки в интерактивными или не интерактивными, и это также может установить атрибут documentationLink, но когда я нажимаю на HREF перенаправляет меня к тому же page –

+0

Я отредактировал его. Я забыл поставить 'request.' в' ' – msagala25

0

Один способ сделать Контрактное unclickable с помощью CSS

Html

<a href="link.html" class="not-active">Link</a> 

CSS

.not-active { 
    pointer-events: none; 
    cursor: default; 
} 
0

если ваш 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> 
    <%}%> 

вы можете попробовать это.