我已经设置了许多Java Server Pages,我想通过添加Process Servlet(扩展HttpServlet)来使用Controller/View系统.
我只是想在ProcessServlet添加一些属性后基本上处理所请求的JSP.
假设我的所有JSP都在名为/ content /的目录中,并且我的web.xml文件有一条规则将/content/*.jsp映射到我的ProcessServlet
我无法找到将所有JSP移动到不同目录(/ content-JSPs /)的方法,这样就可以无需经过ProcessServlet就可以调度它们.
有没有办法基本上将#forward()(其他一些方法?)分配给所请求的JSP,而不必再次通过ProcessServlet?
有点难以相信这种缺乏灵活性的存在.为什么Servlet不能仅仅作为JSP的传递?
我的目标是设置所有内容,以便Web服务器不必为所有JSP创建单独的目录,而为其他所有内容创建另一个目录,即CSS,JavaScript和图像.我想保持目录结构(和URL结构)不变.
当使用CSS display:table-cell的元件上时,它在某种程度上优选/要求的,它的父元素具有display:table-row和display:table?
这可以单独存放在文件中吗?
<div style="display:table-cell;">content</div>
Run Code Online (Sandbox Code Playgroud)
或者以表格标签方式,我应该使用适当的样式嵌套一些额外的父标签吗?
<style>
.table {display:table;}
.tr {display:table-row;}
.td {display:table-cell}
}
</style>
<div class="table">
<div class="tr">
<div class="td">content</td>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用display:table-cell是一个很好的技巧,可以在同一行上布局元素(特别是因为它们之间没有渲染空白区域),但我想知道它是否就是这样:一招.我可以预期这种行为可能会在未来某个时候发生变化吗?
这在风格上是不正确的吗?它似乎在所有(现代)浏览器中一致显示(IE7及更低版本不支持display:table-cell)
<style>
.cell {
display:table-cell;
padding:0px 5px;
background-color:#aaaaaa;
}
</style>
<div>
<span class="cell">option one</span>
<span class="cell">option two</span>
<span class="cell">option three</span>
</div>
Run Code Online (Sandbox Code Playgroud) 基本上是肯定或没有问题,但我也在寻求有关实施最佳实践的建议.
让我知道何时/如果我开始出错了.
我想返回JSON,到目前为止我一直在构建这些字符串.是否有我可以使用的轻量级JSON包.我知道我可以扩展ArrayList(ArrayListJson?)并添加一个toJson()方法,然后将任何ArrayList转换为ArrayListJson,但我确信这已经完成了.
我有这个脚本在我的索引页面上预加载一堆图像,这样当人们移动到我的产品页面时,图像已经在他们的缓存中.问题是,当我删除代码中的两个警报以便它不通知用户时,脚本将无法工作.
我究竟做错了什么?
<script type="text/javascript">
var imageFiles = new Array<?=$output?>
var imagesLoaded = new Number(0);
document.addEventListener("DOMContentLoaded", init, false);
function init()
{
var images = new Array();
alert("lkasd oe kdfl ke k");
for(i=0; i<imageFiles.length; i++)
images[i] = loadImage(imageFiles[i]);
}
function loadImage(url)
{
var image = new Image();
image.addEventListener("load", imageLoaded, false);
image.src = url;
return image;
}
function imageLoaded()
{
imagesLoaded++;
if (imagesLoaded == imageFiles.length)
alert("Billederne er blevet preloadet og ligger i cachen.");
}
</script>
Run Code Online (Sandbox Code Playgroud) 如何使用Class类实例化对象?
我想将一个Class对象传递给一个函数,并让该函数返回我传入的类的新对象.
我拿回物体后会进行铸造.此外,对于这类事情的设计模式有什么建议吗?
下面是一些示例伪代码,显示了我想要做的事情:
Class Animal {
String name;
}
Class Cat extends Animal {
boolean hasTail;
}
Run Code Online (Sandbox Code Playgroud)
主要:
Class myClass = Cat.class;
Animal createAnimal(myClass) {
return new myClass;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
另外,有没有办法在返回新实例之前在我的函数中进行转换,或者我是否坚持使用默认的Object类型?
return (myClass)myClass.newInstance();
Run Code Online (Sandbox Code Playgroud) 哪些浏览器(和版本)不支持自定义属性?
我想为我的标签添加一些自定义属性,我想知道哪些浏览器不能正确处理.
HTML:
<div id="mydiv" mycustomattribute="I've got one.">Test</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
alert(document.getElementById("mydiv").getAttribute("mycustomattribute"));
Run Code Online (Sandbox Code Playgroud) 我想在我的一个类上访问一个静态HashMap对象.这个伪代码说明了我是如何尝试的.
public Class A
{
public static HashMap<String,String> myMap;
static
{
myMap.put("my key", "my value");
}
}
...
public void myfunction(Class clazz)
{
HashMap<String,String> myMap = clazz.getThatStaticMap();
}
...
myFunction(A.getClass());
Run Code Online (Sandbox Code Playgroud)
呼叫getThatStaticMap()是我不知道该怎么做的部分.
在我的实际代码中,我myfunction使用类作为参数调用并返回 ArrayList使用类的newInstance()方法创建的对象,但我希望访问属于该类的静态数据来配置每个实例.
我已经制作了一些自定义bean来实现Map接口,以便轻松访问JSP中的任意数据.
例:
${person["cellPhoneNumber"]}
Run Code Online (Sandbox Code Playgroud)
这些额外的数据可能会或可能不会添加到后端,因此Map似乎是一种很好的灵活方式来存储它.
当我尝试在我的bean上使用getter时会出现问题.我的Person类有一个getName()方法.在我的JSP中使用以下内容时,将Map.get()调用该方法而不是my方法.
${person.name}
Run Code Online (Sandbox Code Playgroud)
有没有办法绕过这个调用Map get("name")并调用getName()呢?
这是我的基本(剥离)Java类:
class Person implements Map
{
private HashMap<String, Object> myMap;
private String name;
public Object get(Object key)
{
return myMap.get(key);
}
public String getName()
{
return this.name;
}
}
Run Code Online (Sandbox Code Playgroud)
使用JSTL 1.1
我想避免的是在每个 JSP 的开头指定一个页面指令。
据我了解,如果没有以下行,页面的 Content-Type 的默认值将设置为“text/html;charset=ISO-8859-1”。
<%@ page contentType="text/html; charset=UTF-8" %>
是否有一个配置选项可以做同样的事情,而不必为应用程序中的每个 JSP 文件显式设置字符集?
我有这个HTML:
<div id="a">
<table>
<tr>
<td>
<div id="c">Stuff</div>
</td>
</tr>
</table>
</div>
<div id="b">
<table>
<tr>
<td>
<div id="c">Stuff</div>
</td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
问题很简单:如何获得"a"div中的"c"div?我还会得到重复的id定义吗?如果必须更改html,请更改它...我只需要实际工作的代码.:) 谢谢
我在我的页面中使用10个评论框.按钮工作完美但现在我想添加功能,当我按下回车按钮然后自动提交文本.
如何在不更改代码的情况下添加此功能.我将bsubmit类绑定到事件On click.(有10个评论框)
<div class="addcomment" style="display: block; ">
<input class="commentadd" type="text" name="comment" value="Enter Comment" onfocus="if(this.value=='Enter Comment')this.value='';">
<button class="bsubmit" type="button">Submit</button></div>
Run Code Online (Sandbox Code Playgroud)
活动代码
$(document).ready(function() {
$(function() {
$(".bsubmit").live("click", function() {
var id = $(this).parent().parent().attr("id");
var comm= document.getElementById(id).getElementsByClassName("commentadd")[0].value;
$.ajax({
type: "POST",
url: "comment.php",
.
.
.
Run Code Online (Sandbox Code Playgroud)