默认情况下,如何使文本从右向左对齐(p:editor)。PrimeFaces编辑器
当前使用primefaces 3.0.M2-SNAPSHOT。现在无法更新到新版本?
这是阿拉伯语版应用程序所必需的。
感谢
默认情况下,如何使文本从右向左对齐(p:editor)。PrimeFaces编辑器
当前使用primefaces 3.0.M2-SNAPSHOT。现在无法更新到新版本?
这是阿拉伯语版应用程序所必需的。
感谢
添加像
<context-param>
<param-name>primefaces.DIR</param-name>
<param-value>RTL</param-value>
</context-param>
在web.xml中的条目,然后在默认情况下任何primefaces组件将呈现来自右侧的文本向左
并非所有PrimeFaces组件都具有“dir”属性,并且由于您未使用3.5版,因此无法使用应用程序作用域DIR参数之三。所以基本上,你有两个选择:
动态地将一个棘手的CSS类应用到没有DIR属性的组件。类似于
.rtlclass float:right; /*等*/ }
或
dirClass属性取决于视图区域获得其值。如果是阿拉伯语,则getter返回“rtlClass”,否则返回“ltrCLass”。
如果碰巧PrimeFaces组件具有DIR属性,在bean中写类似:
public class FacesBean {
private String direction = "";
public FacesBean(){}
// Getter & setter
public String getDirection() {
if (FacesContext.getCurrentInstance().getViewRoot().getLocale()
.getLanguage() == "ar") {
direction = "RTL";
} else {
direction = "LTR";
}
return direction;
}
}
,并在您的XHTML文件:
<p:component dir="#{facesBean.direction}" ..... />
我在一个糟糕的方式做到这一点,但它对我很有用:
<h:form id="form">
<p:editor id="content"/>
<script type="text/javascript" >
jQuery(document).ready(function() {
var myDiv = document.createElement('div');
myDiv.align = 'right';
var myBr = document.createElement('br');
myDiv.appendChild(myBr);
jQuery('#form\\:content').find('iframe').contents().find('body').append(myDiv);
});
</script>
</h:form>
我的要求是只对组件而不是整个范围。 – techie2k