我有两种形式,第一种形式充满了不同的网络(例如:A,B,C),第二种形式充满了包含文本的不同的Java函数(例如:average.java,length.java,edges.java)。代表网络的文件(例如:networkA.txt是网络A的文本文件)并运行代码。我已经弄清楚了这部分。我遇到的一个问题是我想减少为提高效率而需要使用的页面数量。
我有26个不同的网络,我不想说这意味着我有50个不同的网络表单文件,因此有26个不同的功能表单文件。

理想情况下,我需要使用单选按钮的network.php(用户可以从26个不同的网络中进行选择---> A,B,C ... Z)。然后,我希望用户能够提交表单。下一个弹出function.php的页面,我希望在那里具有带单选按钮的函数形式(例如:平均值,长度,数量。
然后,使用此提交按钮(对于function.php),我想采用两种形式,并使用选定的选项(例如:network:A function:edge)通过该函数的Java代码运行该网络txt文件,然后吐出结果为results.php页面。

因此,为澄清我的问题,我想知道当我从network.php转到function.php然后通过Java代码运行并吐入results.php时,是否有一种方法可以从存储的网络中进行选择。我一直在阅读,在javascript中有一个show./hide函数可以做到这一点,但是我找不到任何好的教程或网页来解决如何在我尝试做的情况下做到这一点。欢迎任何帮助,提示,指针或示例代码,并深表感谢。

NetworkA.txt
  0 1 0 2 0 3 1 2 2 3 3 4 4 5 5 6 5 7 6 7




Edges.java

import java.util.*;
import java.io.*;

class Edges{

    public static void main(String[] args){

    try{

        FileReader fr = new FileReader(args[0]);
        BufferedReader br = new BufferedReader(fr);

        String line = null;

        int numEdges = 0;

        while (  (line = br.readLine() ) != null){
            System.out.println(line);
            numEdges++;
        }

        System.out.println("Total # Edges: "+numEdges);


    }
    catch(Exception e){e.printStackTrace();}

    }

}





RunCode.php --->这就是我用来在php页面中编译Java代码的内容


$PATH="C:\Program Files\Java\jdk1.8.0_101\bin";
      echo exec("javac Edges.java 2>&1");//shows # of errors
      echo "<br />";
      echo exec("java Edges networkA.txt 2>&1");//this line executes it
      echo "<br />";
      echo shell_exec("javac Edges.java 2>&1 ");//compiles it





networkA.php ---> networkA符合代码要求,在这种情况下,结果为10个边










<header>

    <div class="nav">

        <ul>
            <li><a href="logout.php">Logout</a></li>
        </ul>

    </div>

    <div class="form">
      <?php


      $PATH="C:\Program Files\Java\jdk1.8.0_101\bin";
      echo exec("javac ListEdges.java 2>&1");//shows # of errors
      echo "<br />";
      echo exec("java ListEdges networkA.txt 2>&1");//this line executes it
      echo "<br />";
      echo shell_exec("javac ListEdges.java 2>&1 ");//compiles it

      ?>
      <a class="tryagain" href='index.php' target="_blank">Try Again?</a></p>
    </div>

</header>

<footer>

    <div class="footer">
      by Jason Bruno

    </div>
</footer>

最佳答案

听起来您想使用表单POST操作将您的选择提交给network.php:

<form action="network.php" method="post">
<label><input type="radio" name="networkChoice" value="A"> Network A</label>
<label><input type="radio" name="networkChoice" value="B"> Network B</label>
...put more options here...
<input type="submit">
</form>


然后,您可以使用$ _POST []将发布的数据返回到PHP中。

$network = $_POST["networkChoice"];
...do stuff...


更多POST / GET示例:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data#The_POST_method

关于java - 两个html表单,一个结果页面的一个提交按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43384746/

10-10 18:41
查看更多