我们想从Primefaces更改为reactjs。 我们的应用程序有近200页。 除了一个开发人员,我们都不知道reactjs。 对于开发人员,我需要一种方法,他们仅在xml文件中定义其页面组件集,以在移动应用程序和Web上同时显示该页面。
我们当前的解决方案是为xml编写一个解析器,然后使用react找到组件和json绑定模型,然后将它们渲染为移动应用程序和Web的特定React组件,例如Grid或tree。
<!DOCTYPE page SYSTEM "page.dtd">
<page title="define organ">
<initialize reference="organ.dtoState" value="New"/>
<section title="organ spec">
<selectOneMenu label="organ type" value="organ.type">
<selectItemEnum>com.foo.publicConnector.dto.privatebanking.OrganType</selectItemEnum>
</selectOneMenu>
<selectOneMenu label="main branch" value="organ.mainBranch" disable="organ.type" disableVal="MAIN_BRANCH">
<webService address="ws/organ/findOrgansByType">
<webServiceInput name="type" value="MAIN_BRANCH"/>
</webService>
<selectItem itemValue="$this" itemLabel="name"/>
</selectOneMenu>
<input label="code" type="integer" value="organ.code"/>
<input label="name" type="string" value="organ.name"/>
<input label="registerDate" type="date" value="organ.registerDate"/>
<input label="financialId" type="string" value="organ.financialId"/>
<table label="phoneNumbers" value="organ.phoneNumbers">
<input label="tel number" type="string" value="number"/>
<selectOneMenu label="type" value="type">
<selectItemEnum>com.foo.publicConnector.dto.privatebanking.PhoneType</selectItemEnum>
</selectOneMenu>
</table>
<input label="Address" type="largeString" value="organ.address"/>
<input label="descriptions" type="largeString" value="organ.description"/>
<commandButton label="approve">
<webService address="ws/organ/saveOrgan" >
<webServiceInputObject name="organ"/>
</webService>
</commandButton>
</section>
</page>
有没有更好,更成熟的方法来做到这一点。