默認情況下,如何使文本從右向左對齊(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