目前,我正在开发一个使用draw2d库绘制形状和图表的Web应用程序。在服务器端,我使用Java(JSF)。
我可以说,这个应用程序的95%都是纯JavaScript。我希望能够在我的JavaScript中发送Ajax请求,而不需要使用隐藏字段,例如<f:inputText>
(也许使用jQuery Ajax组件?)。
我尝试通过添加不同的隐藏JFS组件和jsf.ajax.request
来解决这个问题,但由于某些原因它们并不是非常可靠,有时候它们不会发送Ajax请求。
有什么建议吗?此外,关于jQuery,我不确定如何在服务器端处理请求。
答案:最终我使用了Dave建议的方法。我之前尝试使用来自链接的jsFunction,但是出现了错误。显然,问题在于Richfaces 4中还没有实现该功能。但是,如果您像Dave提到的那样使用,它可以完美地工作。
还有一点,Dave发布的bean对我没用。我必须按以下方式更改它: @ManagedBean(name = "jsFunctionBean") @SessionScoped public class JsFunctionBean {
/**
* Test String name
*/
private String name;
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
/**
* Test boolean
*/
private boolean test;
public boolean getTest() { return this.test; }
public void setTest(boolean test) { this.test = test; }
/**
* Action Method
*
* @return
*/
public String getActionMethod() {
return null;
}
public String actionMethod(){
this.test = true;
this.name = "Dave";
return null;
}
}
我不确定为什么会出现这种情况,但如果我删除getActionMethod或actionMenthod,就会出现错误!
jsf.ajax.request
是 JSF 2.0 规范的一部分。 - BalusC