是否可以使用嵌入在HTML中的Flash文档作为链接?
我尝试object用a这样的方式包装元素:
<a href="http://whatever.com">
<object ...>
<embed ... />
</object>
</a>
Run Code Online (Sandbox Code Playgroud)
在Internet Explorer中,它使状态栏中的位置显示为链接,但它不执行任何操作.
我只有.swf文件,因此我无法在ActionScript中添加单击处理程序.
所以我刚刚修改了一个我正在开发的框架中的bug.伪伪代码如下所示:
myoldObject = new MyObject { someValue = "old value" };
cache.Insert("myObjectKey", myoldObject);
myNewObject = cache.Get("myObjectKey");
myNewObject.someValue = "new value";
if(myObject.someValue != cache.Get("myObjectKey").someValue)
myObject.SaveToDatabase();
Run Code Online (Sandbox Code Playgroud)
所以,基本上,我从缓存中获取一个对象,然后将原始对象与缓存对象进行比较,以查看是否需要将其保存到数据库中以防它被更改.问题出现是因为原始对象是引用...所以更改someValue也会更改引用的缓存对象,因此它永远不会保存回数据库.我通过从缓存版本克隆对象来修复它,切断引用并允许我将新对象与缓存对象进行比较.
我的问题是:有没有更好的方法来做这个,一些模式,你可以推荐?我不可能是唯一一个这样做过的人:)
关于在JSF中开发自定义组件,我有一些事情很难理解.出于这些问题的目的,您可以假设所有自定义控件都使用值绑定/表达式(不是文字绑定),但我也对它们的解释感兴趣.
我已经尝试了一些组合,但最终总是很难找到我认为来自对事件生命周期的基本误解的错误.
我正在开始一个新的Web项目,我正在考虑两个演示框架.我在考虑ASP.NET MVC或Silverlight.我倾向于Silverlight,因为我是非常有经验的.NET开发人员,而我只掌握ASP.NET控件的基本知识.
我正在阅读有关Berkeley DB XML的文档,我想我真的可以使用开发人员的博客文章或他们遇到问题的概要,发现Berkeley DB上面的XML层是确切的处方.
也许我没有得到它,但似乎它们都是进程内DB,最终你会将XML解析为对象或数据,那么为什么不首先存储解析的数据,而不是XML呢?
如果您想以相同的方式处理每个故障,例如通过记录它并跳到下一个请求,向用户显示消息并处理下一个事件等,如果这是我的用例,那么所有我都可以使用未经检查的异常.要做的是在我的系统中捕获一些高级别的常规异常类型,并以相同的方式处理所有内容.
但我希望从特定问题中恢复,而且我不确定使用未经检查的异常来处理它的最佳方法.这是一个具体的例子.
假设我有一个使用Struts2和Hibernate构建的Web应用程序.如果异常冒泡到我的"动作",我会记录它,并向用户显示一个非常道歉.但我的Web应用程序的一个功能是创建新的用户帐户,这需要一个唯一的用户名.如果用户选择已存在的名称,Hibernate会org.hibernate.exception.ConstraintViolationException在我的系统内容中抛出(未经检查的异常).我真的想通过要求用户选择另一个用户名来恢复这个特定问题,而不是给他们相同的"我们记录了你的问题,但现在你已经被软化了"的消息.
以下是需要考虑的几点:
IOException,而数据库实现会捕获SQLException,但两者都会抛出UserNotFoundException隐藏底层实现的内容.我如何利用未经检查的异常,免除每层的包装负担,而不泄漏实现细节?现在,我将所有项目保存在笔记本电脑上.我想我不应该这样做,而是使用版本控制系统并从外部托管存储库(Google Code,SourceForge等)检入/检出它们.我在这里看到了几个好处 - 首先,如果我的计算机崩溃和烧毁或外部硬盘崩溃并烧毁,我不必担心丢失我的代码; 第二,我可以与世界分享我的代码,甚至可以在需要时获得更多帮助.
这是一个好主意吗?如果是这样,我应该调查哪些其他项目主机(Google Code和SourceForge除外)?
灵感来自这篇CodingHorror文章" 保护你的Cookie:HttpOnly "
你怎么设置这个属性?在网络配置的某个地方?
我正在尝试在Python中扩展一些"基础"类:
class xlist (list):
def len(self):
return len(self)
def add(self, *args):
self.extend(args)
return None
class xint (int):
def add(self, value):
self += value
return self
x = xlist([1,2,3])
print x.len() ## >>> 3 ok
print x ## >>> [1,2,3] ok
x.add (4, 5, 6)
print x ## >>> [1,2,3,4,5,6] ok
x = xint(10)
print x ## >>> 10 ok
x.add (2)
print x ## >>> 10 # Not ok (#1)
print type(x) ## >>> <class '__main__.xint'> ok
x += 5 …Run Code Online (Sandbox Code Playgroud) asp.net ×3
java ×2
api ×1
berkeley-db ×1
c# ×1
caching ×1
cookies ×1
exception ×1
flash ×1
html ×1
httponly ×1
java-ee ×1
jsf ×1
projects ×1
python ×1
silverlight ×1
sql-server ×1
t-sql ×1
web-services ×1
xss ×1