我有一个数据表,每行有一个按钮:
<ice:dataTable ... var="item">
<ice:column>
<h:commandButton value="Download" action="#{mybean.downloadItem(item)}" />
</ice:column>
</ice:dataTable>
Run Code Online (Sandbox Code Playgroud)
在支持bean中有这种方法:
public void downloadItem(Item item) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
一切正常(单击该方法时执行),但Eclipse验证失败并显示以下奇怪消息:
方法必须具有签名"String method(),String method(),String方法(String),String方法(String,String),String方法(String,String,String),String方法(String,String,String,String) ,String方法(String,String,String,String,String),String方法(String,String,String,String,String,String),String方法(String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String),String方法(String,String,String, String,String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String,String,String),String方法(String,String,String, String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String,String,String,String),String方法 tring,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String, String,String,String,String,String,String),String方法(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String, String,String,String,String,String,String,String,String,String,String,String,String,String),String method(String,String,String,String,String,String,String,String,String,String, String,String,String,String,String,String,String,String,String)"但是有签名"void method()"
我能做什么?
如果这是相关的,我在Tomcat 7上使用Eclipse Indigo SR1.
我想用Spring/AOP和注释实现声明性安全性.正如您在下一个代码示例中所看到的,我使用了限制注释和参数"allowedRoles"来定义允许执行建议方法的人员.
@Restricted(allowedRoles="jira-administrators")
public void setPassword(...) throws UserMgmtException {
// set password code
...
}
Run Code Online (Sandbox Code Playgroud)
现在,问题是在我的建议中我无法访问已定义的注释:
public Object checkPermission(ProceedingJoinPoint pjp) throws Throwable {
Signature signature = pjp.getSignature();
System.out.println("Allowed:" + rolesAllowedForJoinPoint(pjp));
...
}
private Restricted rolesAllowedForJoinPoint(ProceedingJoinPoint thisJoinPoint)
{
MethodSignature methodSignature = (MethodSignature) thisJoinPoint.getSignature();
Method targetMethod = methodSignature.getMethod();
return targetMethod.getAnnotation(Restricted.class);
}
Run Code Online (Sandbox Code Playgroud)
上面的方法总是返回null(根本没有找到注释).有一个简单的解决方案吗?
我读了一些关于使用AspectJ代理的内容,但我不想使用这个代理.
当通过Annotations而不是faces-config.xml声明Managed Beans时,如何在Eclipse Indigo中自动完成托管bean?
如果缺少这个函数,那么xml-less声明的重点就消失了(对我而言).:(
提前致谢!
我有一个第三个网站(Confluence),它引用了通过登录保护的图像.
如果当前用户已登录,则显示图像,否则图像URL将重定向到登录表单.
例
<img src="secure/myimage.gif" />
Run Code Online (Sandbox Code Playgroud)
当您在浏览器中输入此URL时,将完成重定向到登录页面.
现在的问题是:IE显示图像的可怕红色X图标,即使应该没有任何东西(如在Firefox中).谁知道怎么解决这个问题?
我有一个(自创)swf演示,按钮触发getUrl('SampleTargetPage.html')
现在我想将swf放在cdn上的cdn.example.com,而我的html页面位于www.example.com
更有条理:
www.example.com/test.html
cdn.example.com/someflash.swf
cdn.example.com/crossdomain.xml
Run Code Online (Sandbox Code Playgroud)
我认为在cdn.example.com上提供crossdomain.xml以允许链接工作就足够了.但是:看起来Flash插件根本不会查询crossdomain.xml!
现在,我必须在SWF中添加一些东西才能使其工作吗?非常感谢!
编辑:我需要使用Security.loadPolicyFile吗?编辑:也许我根本不需要crossdomain.xml,因为所有内容都在*.example.com下?
我有以下按钮:
<h:commandButton
disabled="#{mybean.searching}"
binding="#{mybean.searchButton}"
actionListener="#{mybean.searchForLicenses}"
value="Search" />
Run Code Online (Sandbox Code Playgroud)
当我调试时,我看到actionListener首先被调用两次,然后被调用三次,接下来单击四次,依此类推.
似乎每次重新加载时actionListener都会再次注册.
我正在使用Mojarra 2.1.3(也尝试过2.0.6)和Tomcat 7和IceFaces.
绑定是这样完成的:
private javax.faces.component.UICommand searchButton;
public void setSearchButton(UICommand searchButton) {
this.searchButton = searchButton;
}
public UICommand getSearchButton() {
return searchButton;
}
Run Code Online (Sandbox Code Playgroud) jsf ×3
eclipse ×2
java ×2
cross-domain ×1
eclipse-wtp ×1
el ×1
flash ×1
icefaces ×1
image ×1
jsf-2 ×1
mojarra ×1
security ×1
spring ×1
spring-aop ×1
validation ×1