我有一堆配置文件,通常是属性文件,从应用程序打开并像notepad一样编辑。现在要求是选择每个属性并找到它适合的HTML标记,并将整个属性文件显示为HTML页面。 例如:
Security.Properties文件
//This property checks if the user has already logged or not
//Possible values Y N
order.security.Login=Y
因此上面的属性有两个可能的值Y N.等效的HTML格式可以是Y N的单选按钮。同样,如果另一个属性取值1,2,则HTML是具有这两个值的Listbox。
我知道这有点麻烦但必须要做。 开发是JAVA JAVASCRIPT VELOCITY 我的想法是将所有属性文件转换为XML,然后使用XSLT呈现为HTML。 我想听到更多的想法,包括性能问题。
答案 0 :(得分:1)
我会定义一个XML文件,列出每个属性键,以及每个属性键在HTML中显示的方式。
<property key="order.security.Login">
<display type="radio" values="Y,N" />
</property>
然后如果要将Properties显示为HTML文件,只需使用XSLT解析此XML文件,使用属性键匹配正确的元素并显示其内容(使用转换&lt; display类型的XSL文件) =“radio”&gt;进入&lt; input type =“radio”&gt;)
的列表Dunno,如果它适合您的应用配置,但这将是我的第一个适合的想法。
答案 1 :(得分:0)
就像你说的那样,XSLT似乎是要走的路。
答案 2 :(得分:0)
一个小的javadoc / c#doc怎么样:
//<desc>This property checks if the user has already logged or not
//Possible values Y N</desc>
//<type>YN</type>
order.security.Login=Y
答案 3 :(得分:0)
如果您有1200个文件(哇),那么我看不到任何其他方式,而是自动化它。
如果您可以从填充的属性中计算出可能的值,那么您可以使用不同的解决方案。
所以没有很多价值观 如果当前值为Y,那么唯一可能的答案是N与true或false相同 如果该值是一个字符串,则允许输入字符串。
您说您使用Velocity,因此您的模型可以访问完整的Java。 将属性文件读入Properties对象,从中可以获得所有键的枚举。 对于属性文件中的所有值,使用速度模板Velocity构建html。
Map<String, YourHolderObject> velocityPropertiesValues =
new HashMap<>(String, YourHolderObject);
Properties properties = new Properties("your properties file")
Enumeration keys = properties .keys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = (String)p.get(key);
//.......get YourHolderObject which can will have methods like isBoolean,
// if it is then in velocity create radio buttons etc
}
//then in velocity use that enriched object to decide what html to generate
#foreach ($key in $properties.keySet())
#if($refreshed.get($key).isBoolean)
//generate the radio buttons
#elseif($refreshed.get($key).isYesNoList)
//do something else
#
#end
我相信你明白了。 不要依赖语法只是代码来尝试解释查看问题的不同方法。希望能帮助到你。 肖恩