Java — две формы HTML одна кнопка отправки для одной страницы результатов

У меня есть две формы, первая из которых полна различных сетей (например, A, B, C), а вторая форма полна различных Java-функций (например: Average.java, length.java, edge.java), которые принимают текст файл, который представляет сеть (например, networkA.txt — текстовый файл для сети A) и запустите код. Я эту часть разобрался. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу сократить количество страниц, которые мне нужно использовать для повышения эффективности.
У меня есть 26 разных сетей, и я не хочу, чтобы это означало, что у меня есть 50 разных файлов сетевых форм и, следовательно, 26 разных файлов форм функций.

В идеале я хочу network.php (где пользователь может выбирать из 26 различных сетей —> A, B, C … Z) с переключателями. И тогда я хочу, чтобы пользователь мог отправить форму. На следующей странице, которая выскакивает function.php, я бы хотел, чтобы там была форма функции с переключателями (например: среднее, длина, количество.
Затем с помощью этой кнопки отправки (для function.php) я хочу взять две формы и с выбранными вариантами (например, сеть: функция: ребра) запустить этот сетевой текстовый файл через код Java для этой функции и выплюнуть результат на странице результатов.

Поэтому, чтобы уточнить мой вопрос, мне интересно, есть ли способ сохранить выбор из сетей, сохраненных, когда я перехожу из 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 —> Это то, что я использую для компиляции кода Java на моей странице PHP

$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>

0

Решение

Похоже, вы хотите использовать действие 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>

Затем вы можете получить данные, которые вы отправили обратно в PHP, используя $ _POST []

$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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]