比较scriplet和javascript中的变量值
我有一个带有scriptlet标记的jsp文件,我在其中获取.properties文件的值。我有一个java脚本标记,我在其中将下拉列表中的值存储在一个变量中。在下拉列表中选择某个值时,我想将其与scriptlet中的属性进行比较,如果该值相等,则必须在我的文本框中填充属性文件中的值。我尝试了以下代码,但它不起作用 我的便签比较scriplet和javascript中的变量值,javascript,jsp,Javascript,Jsp,我有一个带有scriptlet标记的jsp文件,我在其中获取.properties文件的值。我有一个java脚本标记,我在其中将下拉列表中的值存储在一个变量中。在下拉列表中选择某个值时,我想将其与scriptlet中的属性进行比较,如果该值相等,则必须在我的文本框中填充属性文件中的值。我尝试了以下代码,但它不起作用 我的便签 <% Properties prop = new Properties(); String propFileName = "server. proper
<%
Properties prop = new Properties();
String propFileName = "server. properties";
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propFileName);
if (inputStream != null) {
prop.load(inputStream);
} else {
throw new FileNotFoundException("property file '" + propFileName + "'not found in the classpath");
}
String appName = prop.getProperty("Demo_name");
String link = prop.getProperty("Demo_Links");
String database = prop.getProperty("DemoApps_DataBase");
%>
JavaScript
<script type="text/javascript">
function OnSelectionChange(serverName) {
var selectedOption = serverName.options[serverName.selectedIndex];
var txtbox=document.getElementById('serverLink');
var appName=<%=appName%>;
var links=<%=link%>
alert(appName.value);
if(selectedOption.value==appName.value){
txtbox.value=links.value;
}
}
</script>
函数OnSelectionChange(服务器名){
var selectedOption=serverName.options[serverName.selectedIndex];
var txtbox=document.getElementById('serverLink');
var-appName=;
变量链接=
警报(appName.value);
if(selectedOption.value==appName.value){
txtbox.value=links.value;
}
}
试试这段代码。您选择的值是否区分大小写
<script type="text/javascript">
function OnSelectionChange(serverName) {
var selectedOption = serverName.options[serverName.selectedIndex].value;
var txtbox=document.getElementById('serverLink');
var demoName='<%=demoServer%>';
var testName='<%=testingServer%>';
var PNGName='<%=pngServer%>';
var DCPName='<%=dcpServer%>';
var demoLink='<%=demoLink%>';
var testLink='<%=testingLink%>';
var pngLink='<%=pngLink%>';
var dcpLink='<%=dcpLink%>';
if(selectedOption==appName){
txtbox.value=links;
}
if(selectedOption==PNGName){
txtbox.value=pngLink;
}
if(selectedOption==DCPName){
txtbox.value=dcpLink;
}
if(selectedOption==demoName){
txtbox.value=demoLink;
}
}
</script>
函数OnSelectionChange(服务器名){
var selectedOption=serverName.options[serverName.selectedIndex].value;
var txtbox=document.getElementById('serverLink');
var demoName='';
var testName='';
变量PNGName='';
var DCPName='';
var demoLink='';
var testLink='';
var pngLink='';
变量dcpLink='';
如果(selectedOption==appName){
txtbox.value=链接;
}
if(selectedOption==PNGName){
txtbox.value=pngLink;
}
if(selectedOption==DCPName){
txtbox.value=dcpLink;
}
如果(selectedOption==demoName){
txtbox.value=demoLink;
}
}
使用scriplets在scriplets的隐藏字段中填充值,如:
<input id=hiddenPops type="hidden" name="Language" value="English">prop1=value2;prop2=value3</input>
prop1=value2;prop2=值3
在javascript中,使用getElementById(hiddenPops)获取上述字段的值
将值字符串拆分为数组或根据需要,您可以使用它匹配键并获取相应的值
注意:这是一个解决方案,但您的方法并不好。尝试使用现代JS框架,它可以让您直接与服务器对话,也可以简单地使用Ajax,因为它正在工作。我在脚本标记中又添加了三个if循环,只执行最后一个if循环。你能建议我如何执行所有的if循环吗?