PrimeFace+JSF实际工作需要点击一个树将关联的文本添加到inputTextarea文本框,inputTextarea允许用户随意更改,ajax绑定树的select事件,但点击时,后台Bean对象无法实时获取前台文本框改变的实际内容。

PrimeFace JSF中使用ajax控件无法实时更新文本框inputTextarea内容_第1张图片


原因估计ajax控件无法将前台文本框数据关联到后台。


解决方案:

添加一个按钮和文本框鼠标事件,事件JS调用按钮click事件,由按钮将文件夹数据同步到后台。


前台代码:





	



									
		
		
		
		
			
					
					
			
			
		
		
		
		
	


后台代码:

@ManagedBean(name = "inputRule")
@SessionScoped
public class InputRule implements Serializable {
	// 施工常用语tree操作定义区
	private TreeNode sgnrRoot;// 施工内容root
	private TreeNode sgnrNode;// 选择某条内容常用语
	private List nrcyyList = new ArrayList();// 内容常用语所有对象
	
	public String getInit(){
		sgnrRoot = new DefaultTreeNode("Root", null);
		nrcyyList.clear();
		nrcyyList.add("a");
		for (String str : nrcyyList) {
			TreeNode sgxm = new DefaultTreeNode(str, sgnrRoot);
		}
		return null;
	}
	
	
	
	private String text="";

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}
	
	public void addInputString(){
		text += "测试1,";
	}
	
	public void getInputString(){
		String a = text;
	}
}