2011-04-25 57 views
1

这两种情况会更好些。只要确保我正在使用最佳做法。有条件的HTML需求建议

<% if(isEdit){ %> 
<input type="text" id="tabtitle" name="title" value=<%=Content%>/> 
<%}else{%> 
<input type="text" id="title" name="title"/> 
<%}%> 

OR

$(document).ready(function() { 
<% if(isEdit){ %> 
    $("#title").val("<%=Content%>"); 
<%}%> 
}); 
+1

我本来已经标记了'java jsp javascript jquery'这个问题。 – 2011-04-25 14:43:03

+0

使用标签编辑。 – 2011-04-25 14:47:33

+1

远胜于*这些中的任何一个都是不涉及任何“scriptlet”的解决方案,而是使用JSTL/EL。 – Pointy 2011-04-25 14:59:36

回答

2

第二使用JavaScript/JQuery的修改的元素。由于添加客户端代码没有优势,我会采取第一种方法,只有服务器端。尽管没有看到更大的图景,但很难认可这种方法。

0

我更喜欢第一种方法,如JavaScript通常是由一些用户出于安全原因禁止

+0

不担心这实际上导致我有我的网站上的java脚本。我不能想到没有JavaScript/jQuery的网站。 – 2011-04-25 14:55:02

+1

它不是黑色和白色。有一个unobstrusive Javascript的概念,确保如果您的浏览器不支持Javascript,它会回退到普通的旧html。这是网络堆栈的美丽之一。 HTML,CSS和Javascript彼此分离,如果一个失败了,剩下的就可以做到。所以,现在当你真的是使用Javascript的内容时,你根本没有向没有使用Javascript的用户显示任何信息。没有优雅的退化。阅读Gawker.com如何在几个星期前使用相同策略搞乱他们的网站设计。只是我2美分。 – neebz 2011-04-25 15:14:06

1

我会用第一种方法去,因为条件反正是有,而JavaScript不给添加任何东西功能。这只是一种强迫的做法。

此外,如果您使用服务器端,您的代码将在浏览器访问时正确无误,并且javacsript函数将不会被调用。有时候,当你通过JavaScript更改dom时,会出现闪光灯或抹布......如果没有它,你会更好。

0

我会和Pointy的建议一起使用,并在JSP中使用表达式语言(EL)。您可以放:

<input type="text" id="${titleid}" name="title" value="${Content}"/> 

将titleid属性设置为“title”或“tabtitle”,将Content设置为“”或您的内容。我没有测试过,但我相信这样做会完成同样的事情。